data.matrix.kroneckerMathlib.Data.Matrix.Kronecker

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -7,8 +7,8 @@ import Data.Matrix.Basic
 import Data.Matrix.Block
 import LinearAlgebra.Matrix.Determinant
 import LinearAlgebra.Matrix.NonsingularInverse
-import LinearAlgebra.TensorProduct
-import RingTheory.TensorProduct
+import LinearAlgebra.TensorProduct.Basic
+import LinearAlgebra.TensorProduct.Tower
 
 #align_import data.matrix.kronecker from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
 
Diff
@@ -486,7 +486,7 @@ theorem inv_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [C
     have hAB : ¬IsUnit (A ⊗ₖ B).det :=
       by
       refine' mt (fun hAB => _) hA
-      rw [det_kronecker] at hAB 
+      rw [det_kronecker] at hAB
       exact (isUnit_pow_iff Fintype.card_ne_zero).mp (isUnit_of_mul_isUnit_left hAB)
     rw [nonsing_inv_apply_not_is_unit _ hA, zero_kronecker, nonsing_inv_apply_not_is_unit _ hAB]
   by_cases hB : IsUnit B.det; swap
@@ -495,7 +495,7 @@ theorem inv_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [C
     have hAB : ¬IsUnit (A ⊗ₖ B).det :=
       by
       refine' mt (fun hAB => _) hB
-      rw [det_kronecker] at hAB 
+      rw [det_kronecker] at hAB
       exact (isUnit_pow_iff Fintype.card_ne_zero).mp (isUnit_of_mul_isUnit_right hAB)
     rw [nonsing_inv_apply_not_is_unit _ hB, kronecker_zero, nonsing_inv_apply_not_is_unit _ hAB]
   -- otherwise follows trivially from `mul_kronecker_mul`
Diff
@@ -267,7 +267,7 @@ theorem kroneckerMapBilinear_mul_mul [CommSemiring R] [Fintype m] [Fintype m']
   ext ⟨i, i'⟩ ⟨j, j'⟩
   simp only [kronecker_map_bilinear_apply_apply, mul_apply, ← Finset.univ_product_univ,
     Finset.sum_product, kronecker_map_apply]
-  simp_rw [f.map_sum, LinearMap.sum_apply, LinearMap.map_sum, h_comm]
+  simp_rw [f.map_sum, LinearMap.sum_apply, map_sum, h_comm]
 #align matrix.kronecker_map_bilinear_mul_mul Matrix.kroneckerMapBilinear_mul_mul
 -/
 
Diff
@@ -3,12 +3,12 @@ Copyright (c) 2021 Filippo A. E. Nuccio. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Filippo A. E. Nuccio, Eric Wieser
 -/
-import Mathbin.Data.Matrix.Basic
-import Mathbin.Data.Matrix.Block
-import Mathbin.LinearAlgebra.Matrix.Determinant
-import Mathbin.LinearAlgebra.Matrix.NonsingularInverse
-import Mathbin.LinearAlgebra.TensorProduct
-import Mathbin.RingTheory.TensorProduct
+import Data.Matrix.Basic
+import Data.Matrix.Block
+import LinearAlgebra.Matrix.Determinant
+import LinearAlgebra.Matrix.NonsingularInverse
+import LinearAlgebra.TensorProduct
+import RingTheory.TensorProduct
 
 #align_import data.matrix.kronecker from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
 
Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2021 Filippo A. E. Nuccio. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Filippo A. E. Nuccio, Eric Wieser
-
-! This file was ported from Lean 3 source module data.matrix.kronecker
-! leanprover-community/mathlib commit 33c67ae661dd8988516ff7f247b0be3018cdd952
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.Data.Matrix.Basic
 import Mathbin.Data.Matrix.Block
@@ -15,6 +10,8 @@ import Mathbin.LinearAlgebra.Matrix.NonsingularInverse
 import Mathbin.LinearAlgebra.TensorProduct
 import Mathbin.RingTheory.TensorProduct
 
+#align_import data.matrix.kronecker from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
+
 /-!
 # Kronecker product of matrices
 
Diff
@@ -157,7 +157,7 @@ theorem kroneckerMap_diagonal_diagonal [Zero α] [Zero β] [Zero γ] [DecidableE
     (f : α → β → γ) (hf₁ : ∀ b, f 0 b = 0) (hf₂ : ∀ a, f a 0 = 0) (a : m → α) (b : n → β) :
     kroneckerMap f (diagonal a) (diagonal b) = diagonal fun mn => f (a mn.1) (b mn.2) :=
   by
-  ext (⟨i₁, i₂⟩⟨j₁, j₂⟩)
+  ext ⟨i₁, i₂⟩ ⟨j₁, j₂⟩
   simp [diagonal, apply_ite f, ite_and, ite_apply, apply_ite (f (a i₁)), hf₁, hf₂]
 #align matrix.kronecker_map_diagonal_diagonal Matrix.kroneckerMap_diagonal_diagonal
 -/
@@ -167,7 +167,7 @@ theorem kroneckerMap_diagonal_right [Zero β] [Zero γ] [DecidableEq n] (f : α
     (hf : ∀ a, f a 0 = 0) (A : Matrix l m α) (b : n → β) :
     kroneckerMap f A (diagonal b) = blockDiagonal fun i => A.map fun a => f a (b i) :=
   by
-  ext (⟨i₁, i₂⟩⟨j₁, j₂⟩)
+  ext ⟨i₁, i₂⟩ ⟨j₁, j₂⟩
   simp [diagonal, block_diagonal, apply_ite (f (A i₁ j₁)), hf]
 #align matrix.kronecker_map_diagonal_right Matrix.kroneckerMap_diagonal_right
 -/
@@ -179,7 +179,7 @@ theorem kroneckerMap_diagonal_left [Zero α] [Zero γ] [DecidableEq l] (f : α 
       Matrix.reindex (Equiv.prodComm _ _) (Equiv.prodComm _ _)
         (blockDiagonal fun i => B.map fun b => f (a i) b) :=
   by
-  ext (⟨i₁, i₂⟩⟨j₁, j₂⟩)
+  ext ⟨i₁, i₂⟩ ⟨j₁, j₂⟩
   simp [diagonal, block_diagonal, apply_ite f, ite_apply, hf]
 #align matrix.kronecker_map_diagonal_left Matrix.kroneckerMap_diagonal_left
 -/
@@ -198,7 +198,7 @@ theorem kroneckerMap_reindex (f : α → β → γ) (el : l ≃ l') (em : m ≃
     (M : Matrix l m α) (N : Matrix n p β) :
     kroneckerMap f (reindex el em M) (reindex en ep N) =
       reindex (el.prodCongr en) (em.prodCongr ep) (kroneckerMap f M N) :=
-  by ext (⟨i, i'⟩⟨j, j'⟩); rfl
+  by ext ⟨i, i'⟩ ⟨j, j'⟩; rfl
 #align matrix.kronecker_map_reindex Matrix.kroneckerMap_reindex
 -/
 
@@ -267,7 +267,7 @@ theorem kroneckerMapBilinear_mul_mul [CommSemiring R] [Fintype m] [Fintype m']
     kroneckerMapBilinear f (A ⬝ B) (A' ⬝ B') =
       kroneckerMapBilinear f A A' ⬝ kroneckerMapBilinear f B B' :=
   by
-  ext (⟨i, i'⟩⟨j, j'⟩)
+  ext ⟨i, i'⟩ ⟨j, j'⟩
   simp only [kronecker_map_bilinear_apply_apply, mul_apply, ← Finset.univ_product_univ,
     Finset.sum_product, kronecker_map_apply]
   simp_rw [f.map_sum, LinearMap.sum_apply, LinearMap.map_sum, h_comm]
@@ -472,8 +472,8 @@ theorem det_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [C
   by
   refine' (det_kronecker_map_bilinear (Algebra.lmul ℕ R).toLinearMap mul_mul_mul_comm _ _).trans _
   congr 3
-  · ext (i j); exact mul_one _
-  · ext (i j); exact one_mul _
+  · ext i j; exact mul_one _
+  · ext i j; exact one_mul _
 #align matrix.det_kronecker Matrix.det_kronecker
 -/
 
Diff
@@ -67,69 +67,92 @@ def kroneckerMap (f : α → β → γ) (A : Matrix l m α) (B : Matrix n p β)
 #align matrix.kronecker_map Matrix.kroneckerMap
 -/
 
+#print Matrix.kroneckerMap_apply /-
 -- TODO: set as an equation lemma for `kronecker_map`, see mathlib4#3024
 @[simp]
 theorem kroneckerMap_apply (f : α → β → γ) (A : Matrix l m α) (B : Matrix n p β) (i j) :
     kroneckerMap f A B i j = f (A i.1 j.1) (B i.2 j.2) :=
   rfl
 #align matrix.kronecker_map_apply Matrix.kroneckerMap_apply
+-/
 
+#print Matrix.kroneckerMap_transpose /-
 theorem kroneckerMap_transpose (f : α → β → γ) (A : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f Aᵀ Bᵀ = (kroneckerMap f A B)ᵀ :=
   ext fun i j => rfl
 #align matrix.kronecker_map_transpose Matrix.kroneckerMap_transpose
+-/
 
+#print Matrix.kroneckerMap_map_left /-
 theorem kroneckerMap_map_left (f : α' → β → γ) (g : α → α') (A : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f (A.map g) B = kroneckerMap (fun a b => f (g a) b) A B :=
   ext fun i j => rfl
 #align matrix.kronecker_map_map_left Matrix.kroneckerMap_map_left
+-/
 
+#print Matrix.kroneckerMap_map_right /-
 theorem kroneckerMap_map_right (f : α → β' → γ) (g : β → β') (A : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f A (B.map g) = kroneckerMap (fun a b => f a (g b)) A B :=
   ext fun i j => rfl
 #align matrix.kronecker_map_map_right Matrix.kroneckerMap_map_right
+-/
 
+#print Matrix.kroneckerMap_map /-
 theorem kroneckerMap_map (f : α → β → γ) (g : γ → γ') (A : Matrix l m α) (B : Matrix n p β) :
     (kroneckerMap f A B).map g = kroneckerMap (fun a b => g (f a b)) A B :=
   ext fun i j => rfl
 #align matrix.kronecker_map_map Matrix.kroneckerMap_map
+-/
 
+#print Matrix.kroneckerMap_zero_left /-
 @[simp]
 theorem kroneckerMap_zero_left [Zero α] [Zero γ] (f : α → β → γ) (hf : ∀ b, f 0 b = 0)
     (B : Matrix n p β) : kroneckerMap f (0 : Matrix l m α) B = 0 :=
   ext fun i j => hf _
 #align matrix.kronecker_map_zero_left Matrix.kroneckerMap_zero_left
+-/
 
+#print Matrix.kroneckerMap_zero_right /-
 @[simp]
 theorem kroneckerMap_zero_right [Zero β] [Zero γ] (f : α → β → γ) (hf : ∀ a, f a 0 = 0)
     (A : Matrix l m α) : kroneckerMap f A (0 : Matrix n p β) = 0 :=
   ext fun i j => hf _
 #align matrix.kronecker_map_zero_right Matrix.kroneckerMap_zero_right
+-/
 
+#print Matrix.kroneckerMap_add_left /-
 theorem kroneckerMap_add_left [Add α] [Add γ] (f : α → β → γ)
     (hf : ∀ a₁ a₂ b, f (a₁ + a₂) b = f a₁ b + f a₂ b) (A₁ A₂ : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f (A₁ + A₂) B = kroneckerMap f A₁ B + kroneckerMap f A₂ B :=
   ext fun i j => hf _ _ _
 #align matrix.kronecker_map_add_left Matrix.kroneckerMap_add_left
+-/
 
+#print Matrix.kroneckerMap_add_right /-
 theorem kroneckerMap_add_right [Add β] [Add γ] (f : α → β → γ)
     (hf : ∀ a b₁ b₂, f a (b₁ + b₂) = f a b₁ + f a b₂) (A : Matrix l m α) (B₁ B₂ : Matrix n p β) :
     kroneckerMap f A (B₁ + B₂) = kroneckerMap f A B₁ + kroneckerMap f A B₂ :=
   ext fun i j => hf _ _ _
 #align matrix.kronecker_map_add_right Matrix.kroneckerMap_add_right
+-/
 
+#print Matrix.kroneckerMap_smul_left /-
 theorem kroneckerMap_smul_left [SMul R α] [SMul R γ] (f : α → β → γ) (r : R)
     (hf : ∀ a b, f (r • a) b = r • f a b) (A : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f (r • A) B = r • kroneckerMap f A B :=
   ext fun i j => hf _ _
 #align matrix.kronecker_map_smul_left Matrix.kroneckerMap_smul_left
+-/
 
+#print Matrix.kroneckerMap_smul_right /-
 theorem kroneckerMap_smul_right [SMul R β] [SMul R γ] (f : α → β → γ) (r : R)
     (hf : ∀ a b, f a (r • b) = r • f a b) (A : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f A (r • B) = r • kroneckerMap f A B :=
   ext fun i j => hf _ _
 #align matrix.kronecker_map_smul_right Matrix.kroneckerMap_smul_right
+-/
 
+#print Matrix.kroneckerMap_diagonal_diagonal /-
 theorem kroneckerMap_diagonal_diagonal [Zero α] [Zero β] [Zero γ] [DecidableEq m] [DecidableEq n]
     (f : α → β → γ) (hf₁ : ∀ b, f 0 b = 0) (hf₂ : ∀ a, f a 0 = 0) (a : m → α) (b : n → β) :
     kroneckerMap f (diagonal a) (diagonal b) = diagonal fun mn => f (a mn.1) (b mn.2) :=
@@ -137,7 +160,9 @@ theorem kroneckerMap_diagonal_diagonal [Zero α] [Zero β] [Zero γ] [DecidableE
   ext (⟨i₁, i₂⟩⟨j₁, j₂⟩)
   simp [diagonal, apply_ite f, ite_and, ite_apply, apply_ite (f (a i₁)), hf₁, hf₂]
 #align matrix.kronecker_map_diagonal_diagonal Matrix.kroneckerMap_diagonal_diagonal
+-/
 
+#print Matrix.kroneckerMap_diagonal_right /-
 theorem kroneckerMap_diagonal_right [Zero β] [Zero γ] [DecidableEq n] (f : α → β → γ)
     (hf : ∀ a, f a 0 = 0) (A : Matrix l m α) (b : n → β) :
     kroneckerMap f A (diagonal b) = blockDiagonal fun i => A.map fun a => f a (b i) :=
@@ -145,7 +170,9 @@ theorem kroneckerMap_diagonal_right [Zero β] [Zero γ] [DecidableEq n] (f : α
   ext (⟨i₁, i₂⟩⟨j₁, j₂⟩)
   simp [diagonal, block_diagonal, apply_ite (f (A i₁ j₁)), hf]
 #align matrix.kronecker_map_diagonal_right Matrix.kroneckerMap_diagonal_right
+-/
 
+#print Matrix.kroneckerMap_diagonal_left /-
 theorem kroneckerMap_diagonal_left [Zero α] [Zero γ] [DecidableEq l] (f : α → β → γ)
     (hf : ∀ b, f 0 b = 0) (a : l → α) (B : Matrix m n β) :
     kroneckerMap f (diagonal a) B =
@@ -155,35 +182,45 @@ theorem kroneckerMap_diagonal_left [Zero α] [Zero γ] [DecidableEq l] (f : α 
   ext (⟨i₁, i₂⟩⟨j₁, j₂⟩)
   simp [diagonal, block_diagonal, apply_ite f, ite_apply, hf]
 #align matrix.kronecker_map_diagonal_left Matrix.kroneckerMap_diagonal_left
+-/
 
+#print Matrix.kroneckerMap_one_one /-
 @[simp]
 theorem kroneckerMap_one_one [Zero α] [Zero β] [Zero γ] [One α] [One β] [One γ] [DecidableEq m]
     [DecidableEq n] (f : α → β → γ) (hf₁ : ∀ b, f 0 b = 0) (hf₂ : ∀ a, f a 0 = 0)
     (hf₃ : f 1 1 = 1) : kroneckerMap f (1 : Matrix m m α) (1 : Matrix n n β) = 1 :=
   (kroneckerMap_diagonal_diagonal _ hf₁ hf₂ _ _).trans <| by simp only [hf₃, diagonal_one]
 #align matrix.kronecker_map_one_one Matrix.kroneckerMap_one_one
+-/
 
+#print Matrix.kroneckerMap_reindex /-
 theorem kroneckerMap_reindex (f : α → β → γ) (el : l ≃ l') (em : m ≃ m') (en : n ≃ n') (ep : p ≃ p')
     (M : Matrix l m α) (N : Matrix n p β) :
     kroneckerMap f (reindex el em M) (reindex en ep N) =
       reindex (el.prodCongr en) (em.prodCongr ep) (kroneckerMap f M N) :=
   by ext (⟨i, i'⟩⟨j, j'⟩); rfl
 #align matrix.kronecker_map_reindex Matrix.kroneckerMap_reindex
+-/
 
+#print Matrix.kroneckerMap_reindex_left /-
 theorem kroneckerMap_reindex_left (f : α → β → γ) (el : l ≃ l') (em : m ≃ m') (M : Matrix l m α)
     (N : Matrix n n' β) :
     kroneckerMap f (Matrix.reindex el em M) N =
       reindex (el.prodCongr (Equiv.refl _)) (em.prodCongr (Equiv.refl _)) (kroneckerMap f M N) :=
   kroneckerMap_reindex _ _ _ (Equiv.refl _) (Equiv.refl _) _ _
 #align matrix.kronecker_map_reindex_left Matrix.kroneckerMap_reindex_left
+-/
 
+#print Matrix.kroneckerMap_reindex_right /-
 theorem kroneckerMap_reindex_right (f : α → β → γ) (em : m ≃ m') (en : n ≃ n') (M : Matrix l l' α)
     (N : Matrix m n β) :
     kroneckerMap f M (reindex em en N) =
       reindex ((Equiv.refl _).prodCongr em) ((Equiv.refl _).prodCongr en) (kroneckerMap f M N) :=
   kroneckerMap_reindex _ (Equiv.refl _) (Equiv.refl _) _ _ _ _
 #align matrix.kronecker_map_reindex_right Matrix.kroneckerMap_reindex_right
+-/
 
+#print Matrix.kroneckerMap_assoc /-
 theorem kroneckerMap_assoc {δ ξ ω ω' : Type _} (f : α → β → γ) (g : γ → δ → ω) (f' : α → ξ → ω')
     (g' : β → δ → ξ) (A : Matrix l m α) (B : Matrix n p β) (D : Matrix q r δ) (φ : ω ≃ ω')
     (hφ : ∀ a b d, φ (g (f a b) d) = f' a (g' b d)) :
@@ -192,7 +229,9 @@ theorem kroneckerMap_assoc {δ ξ ω ω' : Type _} (f : α → β → γ) (g : 
       kroneckerMap f' A (kroneckerMap g' B D) :=
   ext fun i j => hφ _ _ _
 #align matrix.kronecker_map_assoc Matrix.kroneckerMap_assoc
+-/
 
+#print Matrix.kroneckerMap_assoc₁ /-
 theorem kroneckerMap_assoc₁ {δ ξ ω : Type _} (f : α → β → γ) (g : γ → δ → ω) (f' : α → ξ → ω)
     (g' : β → δ → ξ) (A : Matrix l m α) (B : Matrix n p β) (D : Matrix q r δ)
     (h : ∀ a b d, g (f a b) d = f' a (g' b d)) :
@@ -201,6 +240,7 @@ theorem kroneckerMap_assoc₁ {δ ξ ω : Type _} (f : α → β → γ) (g : γ
       kroneckerMap f' A (kroneckerMap g' B D) :=
   ext fun i j => h _ _ _
 #align matrix.kronecker_map_assoc₁ Matrix.kroneckerMap_assoc₁
+-/
 
 #print Matrix.kroneckerMapBilinear /-
 /-- When `f` is bilinear then `matrix.kronecker_map f` is also bilinear. -/
@@ -215,6 +255,7 @@ def kroneckerMapBilinear [CommSemiring R] [AddCommMonoid α] [AddCommMonoid β]
 #align matrix.kronecker_map_bilinear Matrix.kroneckerMapBilinear
 -/
 
+#print Matrix.kroneckerMapBilinear_mul_mul /-
 /-- `matrix.kronecker_map_bilinear` commutes with `⬝` if `f` commutes with `*`.
 
 This is primarily used with `R = ℕ` to prove `matrix.mul_kronecker_mul`. -/
@@ -231,7 +272,9 @@ theorem kroneckerMapBilinear_mul_mul [CommSemiring R] [Fintype m] [Fintype m']
     Finset.sum_product, kronecker_map_apply]
   simp_rw [f.map_sum, LinearMap.sum_apply, LinearMap.map_sum, h_comm]
 #align matrix.kronecker_map_bilinear_mul_mul Matrix.kroneckerMapBilinear_mul_mul
+-/
 
+#print Matrix.trace_kroneckerMapBilinear /-
 /-- `trace` distributes over `matrix.kronecker_map_bilinear`.
 
 This is primarily used with `R = ℕ` to prove `matrix.trace_kronecker`. -/
@@ -242,7 +285,9 @@ theorem trace_kroneckerMapBilinear [CommSemiring R] [Fintype m] [Fintype n] [Add
   simp_rw [Matrix.trace, Matrix.diag, kronecker_map_bilinear_apply_apply, LinearMap.map_sum₂,
     map_sum, ← Finset.univ_product_univ, Finset.sum_product, kronecker_map_apply]
 #align matrix.trace_kronecker_map_bilinear Matrix.trace_kroneckerMapBilinear
+-/
 
+#print Matrix.det_kroneckerMapBilinear /-
 /-- `determinant` of `matrix.kronecker_map_bilinear`.
 
 This is primarily used with `R = ℕ` to prove `matrix.det_kronecker`. -/
@@ -267,6 +312,7 @@ theorem det_kroneckerMapBilinear [CommSemiring R] [Fintype m] [Fintype n] [Decid
       · exact map_zero _
     _ = _ := by simp_rw [det_block_diagonal, Finset.prod_const, Finset.card_univ]
 #align matrix.det_kronecker_map_bilinear Matrix.det_kroneckerMapBilinear
+-/
 
 end KroneckerMap
 
@@ -286,14 +332,15 @@ def kronecker [Mul α] : Matrix l m α → Matrix n p α → Matrix (l × n) (m
 #align matrix.kronecker Matrix.kronecker
 -/
 
--- mathport name: matrix.kronecker_map.mul
 scoped[Kronecker] infixl:100 " ⊗ₖ " => Matrix.kroneckerMap (· * ·)
 
+#print Matrix.kronecker_apply /-
 @[simp]
 theorem kronecker_apply [Mul α] (A : Matrix l m α) (B : Matrix n p α) (i₁ i₂ j₁ j₂) :
     (A ⊗ₖ B) (i₁, i₂) (j₁, j₂) = A i₁ j₁ * B i₂ j₂ :=
   rfl
 #align matrix.kronecker_apply Matrix.kronecker_apply
+-/
 
 #print Matrix.kroneckerBilinear /-
 /-- `matrix.kronecker` as a bilinear map. -/
@@ -307,87 +354,118 @@ def kroneckerBilinear [CommSemiring R] [Semiring α] [Algebra R α] :
 hypotheses which can be filled by properties of `*`. -/
 
 
+#print Matrix.zero_kronecker /-
 @[simp]
 theorem zero_kronecker [MulZeroClass α] (B : Matrix n p α) : (0 : Matrix l m α) ⊗ₖ B = 0 :=
   kroneckerMap_zero_left _ MulZeroClass.zero_mul B
 #align matrix.zero_kronecker Matrix.zero_kronecker
+-/
 
+#print Matrix.kronecker_zero /-
 @[simp]
 theorem kronecker_zero [MulZeroClass α] (A : Matrix l m α) : A ⊗ₖ (0 : Matrix n p α) = 0 :=
   kroneckerMap_zero_right _ MulZeroClass.mul_zero A
 #align matrix.kronecker_zero Matrix.kronecker_zero
+-/
 
+#print Matrix.add_kronecker /-
 theorem add_kronecker [Distrib α] (A₁ A₂ : Matrix l m α) (B : Matrix n p α) :
     (A₁ + A₂) ⊗ₖ B = A₁ ⊗ₖ B + A₂ ⊗ₖ B :=
   kroneckerMap_add_left _ add_mul _ _ _
 #align matrix.add_kronecker Matrix.add_kronecker
+-/
 
+#print Matrix.kronecker_add /-
 theorem kronecker_add [Distrib α] (A : Matrix l m α) (B₁ B₂ : Matrix n p α) :
     A ⊗ₖ (B₁ + B₂) = A ⊗ₖ B₁ + A ⊗ₖ B₂ :=
   kroneckerMap_add_right _ mul_add _ _ _
 #align matrix.kronecker_add Matrix.kronecker_add
+-/
 
+#print Matrix.smul_kronecker /-
 theorem smul_kronecker [Monoid R] [Monoid α] [MulAction R α] [IsScalarTower R α α] (r : R)
     (A : Matrix l m α) (B : Matrix n p α) : (r • A) ⊗ₖ B = r • A ⊗ₖ B :=
   kroneckerMap_smul_left _ _ (fun _ _ => smul_mul_assoc _ _ _) _ _
 #align matrix.smul_kronecker Matrix.smul_kronecker
+-/
 
+#print Matrix.kronecker_smul /-
 theorem kronecker_smul [Monoid R] [Monoid α] [MulAction R α] [SMulCommClass R α α] (r : R)
     (A : Matrix l m α) (B : Matrix n p α) : A ⊗ₖ (r • B) = r • A ⊗ₖ B :=
   kroneckerMap_smul_right _ _ (fun _ _ => mul_smul_comm _ _ _) _ _
 #align matrix.kronecker_smul Matrix.kronecker_smul
+-/
 
+#print Matrix.diagonal_kronecker_diagonal /-
 theorem diagonal_kronecker_diagonal [MulZeroClass α] [DecidableEq m] [DecidableEq n] (a : m → α)
     (b : n → α) : diagonal a ⊗ₖ diagonal b = diagonal fun mn => a mn.1 * b mn.2 :=
   kroneckerMap_diagonal_diagonal _ MulZeroClass.zero_mul MulZeroClass.mul_zero _ _
 #align matrix.diagonal_kronecker_diagonal Matrix.diagonal_kronecker_diagonal
+-/
 
+#print Matrix.kronecker_diagonal /-
 theorem kronecker_diagonal [MulZeroClass α] [DecidableEq n] (A : Matrix l m α) (b : n → α) :
     A ⊗ₖ diagonal b = blockDiagonal fun i => MulOpposite.op (b i) • A :=
   kroneckerMap_diagonal_right _ MulZeroClass.mul_zero _ _
 #align matrix.kronecker_diagonal Matrix.kronecker_diagonal
+-/
 
+#print Matrix.diagonal_kronecker /-
 theorem diagonal_kronecker [MulZeroClass α] [DecidableEq l] (a : l → α) (B : Matrix m n α) :
     diagonal a ⊗ₖ B =
       Matrix.reindex (Equiv.prodComm _ _) (Equiv.prodComm _ _) (blockDiagonal fun i => a i • B) :=
   kroneckerMap_diagonal_left _ MulZeroClass.zero_mul _ _
 #align matrix.diagonal_kronecker Matrix.diagonal_kronecker
+-/
 
+#print Matrix.one_kronecker_one /-
 @[simp]
 theorem one_kronecker_one [MulZeroOneClass α] [DecidableEq m] [DecidableEq n] :
     (1 : Matrix m m α) ⊗ₖ (1 : Matrix n n α) = 1 :=
   kroneckerMap_one_one _ MulZeroClass.zero_mul MulZeroClass.mul_zero (one_mul _)
 #align matrix.one_kronecker_one Matrix.one_kronecker_one
+-/
 
+#print Matrix.kronecker_one /-
 theorem kronecker_one [MulZeroOneClass α] [DecidableEq n] (A : Matrix l m α) :
     A ⊗ₖ (1 : Matrix n n α) = blockDiagonal fun i => A :=
   (kronecker_diagonal _ _).trans <| congr_arg _ <| funext fun _ => Matrix.ext fun _ _ => mul_one _
 #align matrix.kronecker_one Matrix.kronecker_one
+-/
 
+#print Matrix.one_kronecker /-
 theorem one_kronecker [MulZeroOneClass α] [DecidableEq l] (B : Matrix m n α) :
     (1 : Matrix l l α) ⊗ₖ B =
       Matrix.reindex (Equiv.prodComm _ _) (Equiv.prodComm _ _) (blockDiagonal fun i => B) :=
   (diagonal_kronecker _ _).trans <|
     congr_arg _ <| congr_arg _ <| funext fun _ => Matrix.ext fun _ _ => one_mul _
 #align matrix.one_kronecker Matrix.one_kronecker
+-/
 
+#print Matrix.mul_kronecker_mul /-
 theorem mul_kronecker_mul [Fintype m] [Fintype m'] [CommSemiring α] (A : Matrix l m α)
     (B : Matrix m n α) (A' : Matrix l' m' α) (B' : Matrix m' n' α) :
     (A ⬝ B) ⊗ₖ (A' ⬝ B') = A ⊗ₖ A' ⬝ B ⊗ₖ B' :=
   kroneckerMapBilinear_mul_mul (Algebra.lmul ℕ α).toLinearMap mul_mul_mul_comm A B A' B'
 #align matrix.mul_kronecker_mul Matrix.mul_kronecker_mul
+-/
 
+#print Matrix.kronecker_assoc /-
 @[simp]
 theorem kronecker_assoc [Semigroup α] (A : Matrix l m α) (B : Matrix n p α) (C : Matrix q r α) :
     reindex (Equiv.prodAssoc l n q) (Equiv.prodAssoc m p r) (A ⊗ₖ B ⊗ₖ C) = A ⊗ₖ (B ⊗ₖ C) :=
   kroneckerMap_assoc₁ _ _ _ _ A B C mul_assoc
 #align matrix.kronecker_assoc Matrix.kronecker_assoc
+-/
 
+#print Matrix.trace_kronecker /-
 theorem trace_kronecker [Fintype m] [Fintype n] [Semiring α] (A : Matrix m m α) (B : Matrix n n α) :
     trace (A ⊗ₖ B) = trace A * trace B :=
   trace_kroneckerMapBilinear (Algebra.lmul ℕ α).toLinearMap _ _
 #align matrix.trace_kronecker Matrix.trace_kronecker
+-/
 
+#print Matrix.det_kronecker /-
 theorem det_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [CommRing R]
     (A : Matrix m m R) (B : Matrix n n R) :
     det (A ⊗ₖ B) = det A ^ Fintype.card n * det B ^ Fintype.card m :=
@@ -397,7 +475,9 @@ theorem det_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [C
   · ext (i j); exact mul_one _
   · ext (i j); exact one_mul _
 #align matrix.det_kronecker Matrix.det_kronecker
+-/
 
+#print Matrix.inv_kronecker /-
 theorem inv_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [CommRing R]
     (A : Matrix m m R) (B : Matrix n n R) : (A ⊗ₖ B)⁻¹ = A⁻¹ ⊗ₖ B⁻¹ :=
   by
@@ -425,6 +505,7 @@ theorem inv_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [C
   · apply inv_eq_right_inv
     rw [← mul_kronecker_mul, ← one_kronecker_one, mul_nonsing_inv _ hA, mul_nonsing_inv _ hB]
 #align matrix.inv_kronecker Matrix.inv_kronecker
+-/
 
 end Kronecker
 
@@ -454,76 +535,97 @@ def kroneckerTMul : Matrix l m α → Matrix n p β → Matrix (l × n) (m × p)
 #align matrix.kronecker_tmul Matrix.kroneckerTMul
 -/
 
--- mathport name: matrix.kronecker_map.tmul
 scoped[Kronecker] infixl:100 " ⊗ₖₜ " => Matrix.kroneckerMap (· ⊗ₜ ·)
 
--- mathport name: matrix.kronecker_map.tmul'
 scoped[Kronecker]
   notation:100 x " ⊗ₖₜ[" R "] " y:100 => Matrix.kroneckerMap (TensorProduct.tmul R) x y
 
+#print Matrix.kroneckerTMul_apply /-
 @[simp]
 theorem kroneckerTMul_apply (A : Matrix l m α) (B : Matrix n p β) (i₁ i₂ j₁ j₂) :
     (A ⊗ₖₜ B) (i₁, i₂) (j₁, j₂) = A i₁ j₁ ⊗ₜ[R] B i₂ j₂ :=
   rfl
 #align matrix.kronecker_tmul_apply Matrix.kroneckerTMul_apply
+-/
 
+#print Matrix.kroneckerTMulBilinear /-
 /-- `matrix.kronecker` as a bilinear map. -/
 def kroneckerTMulBilinear :
     Matrix l m α →ₗ[R] Matrix n p β →ₗ[R] Matrix (l × n) (m × p) (α ⊗[R] β) :=
   kroneckerMapBilinear (TensorProduct.mk R α β)
 #align matrix.kronecker_tmul_bilinear Matrix.kroneckerTMulBilinear
+-/
 
 /-! What follows is a copy, in order, of every `matrix.kronecker_map` lemma above that has
 hypotheses which can be filled by properties of `⊗ₜ`. -/
 
 
+#print Matrix.zero_kroneckerTMul /-
 @[simp]
 theorem zero_kroneckerTMul (B : Matrix n p β) : (0 : Matrix l m α) ⊗ₖₜ[R] B = 0 :=
   kroneckerMap_zero_left _ (zero_tmul α) B
 #align matrix.zero_kronecker_tmul Matrix.zero_kroneckerTMul
+-/
 
+#print Matrix.kroneckerTMul_zero /-
 @[simp]
 theorem kroneckerTMul_zero (A : Matrix l m α) : A ⊗ₖₜ[R] (0 : Matrix n p β) = 0 :=
   kroneckerMap_zero_right _ (tmul_zero β) A
 #align matrix.kronecker_tmul_zero Matrix.kroneckerTMul_zero
+-/
 
+#print Matrix.add_kroneckerTMul /-
 theorem add_kroneckerTMul (A₁ A₂ : Matrix l m α) (B : Matrix n p α) :
     (A₁ + A₂) ⊗ₖₜ[R] B = A₁ ⊗ₖₜ B + A₂ ⊗ₖₜ B :=
   kroneckerMap_add_left _ add_tmul _ _ _
 #align matrix.add_kronecker_tmul Matrix.add_kroneckerTMul
+-/
 
+#print Matrix.kroneckerTMul_add /-
 theorem kroneckerTMul_add (A : Matrix l m α) (B₁ B₂ : Matrix n p α) :
     A ⊗ₖₜ[R] (B₁ + B₂) = A ⊗ₖₜ B₁ + A ⊗ₖₜ B₂ :=
   kroneckerMap_add_right _ tmul_add _ _ _
 #align matrix.kronecker_tmul_add Matrix.kroneckerTMul_add
+-/
 
+#print Matrix.smul_kroneckerTMul /-
 theorem smul_kroneckerTMul (r : R) (A : Matrix l m α) (B : Matrix n p α) :
     (r • A) ⊗ₖₜ[R] B = r • A ⊗ₖₜ B :=
   kroneckerMap_smul_left _ _ (fun _ _ => smul_tmul' _ _ _) _ _
 #align matrix.smul_kronecker_tmul Matrix.smul_kroneckerTMul
+-/
 
+#print Matrix.kroneckerTMul_smul /-
 theorem kroneckerTMul_smul (r : R) (A : Matrix l m α) (B : Matrix n p α) :
     A ⊗ₖₜ[R] (r • B) = r • A ⊗ₖₜ B :=
   kroneckerMap_smul_right _ _ (fun _ _ => tmul_smul _ _ _) _ _
 #align matrix.kronecker_tmul_smul Matrix.kroneckerTMul_smul
+-/
 
+#print Matrix.diagonal_kroneckerTMul_diagonal /-
 theorem diagonal_kroneckerTMul_diagonal [DecidableEq m] [DecidableEq n] (a : m → α) (b : n → α) :
     diagonal a ⊗ₖₜ[R] diagonal b = diagonal fun mn => a mn.1 ⊗ₜ b mn.2 :=
   kroneckerMap_diagonal_diagonal _ (zero_tmul _) (tmul_zero _) _ _
 #align matrix.diagonal_kronecker_tmul_diagonal Matrix.diagonal_kroneckerTMul_diagonal
+-/
 
+#print Matrix.kroneckerTMul_diagonal /-
 theorem kroneckerTMul_diagonal [DecidableEq n] (A : Matrix l m α) (b : n → α) :
     A ⊗ₖₜ[R] diagonal b = blockDiagonal fun i => A.map fun a => a ⊗ₜ[R] b i :=
   kroneckerMap_diagonal_right _ (tmul_zero _) _ _
 #align matrix.kronecker_tmul_diagonal Matrix.kroneckerTMul_diagonal
+-/
 
+#print Matrix.diagonal_kroneckerTMul /-
 theorem diagonal_kroneckerTMul [DecidableEq l] (a : l → α) (B : Matrix m n α) :
     diagonal a ⊗ₖₜ[R] B =
       Matrix.reindex (Equiv.prodComm _ _) (Equiv.prodComm _ _)
         (blockDiagonal fun i => B.map fun b => a i ⊗ₜ[R] b) :=
   kroneckerMap_diagonal_left _ (zero_tmul _) _ _
 #align matrix.diagonal_kronecker_tmul Matrix.diagonal_kroneckerTMul
+-/
 
+#print Matrix.kroneckerTMul_assoc /-
 @[simp]
 theorem kroneckerTMul_assoc (A : Matrix l m α) (B : Matrix n p β) (C : Matrix q r γ) :
     reindex (Equiv.prodAssoc l n q) (Equiv.prodAssoc m p r)
@@ -531,11 +633,14 @@ theorem kroneckerTMul_assoc (A : Matrix l m α) (B : Matrix n p β) (C : Matrix
       A ⊗ₖₜ[R] B ⊗ₖₜ[R] C :=
   ext fun i j => assoc_tmul _ _ _
 #align matrix.kronecker_tmul_assoc Matrix.kroneckerTMul_assoc
+-/
 
+#print Matrix.trace_kroneckerTMul /-
 theorem trace_kroneckerTMul [Fintype m] [Fintype n] (A : Matrix m m α) (B : Matrix n n β) :
     trace (A ⊗ₖₜ[R] B) = trace A ⊗ₜ[R] trace B :=
   trace_kroneckerMapBilinear (TensorProduct.mk R α β) _ _
 #align matrix.trace_kronecker_tmul Matrix.trace_kroneckerTMul
+-/
 
 end Module
 
@@ -549,16 +654,20 @@ section Semiring
 
 variable [CommSemiring R] [Semiring α] [Semiring β] [Algebra R α] [Algebra R β]
 
+#print Matrix.one_kroneckerTMul_one /-
 @[simp]
 theorem one_kroneckerTMul_one [DecidableEq m] [DecidableEq n] :
     (1 : Matrix m m α) ⊗ₖₜ[R] (1 : Matrix n n α) = 1 :=
   kroneckerMap_one_one _ (zero_tmul _) (tmul_zero _) rfl
 #align matrix.one_kronecker_tmul_one Matrix.one_kroneckerTMul_one
+-/
 
+#print Matrix.mul_kroneckerTMul_mul /-
 theorem mul_kroneckerTMul_mul [Fintype m] [Fintype m'] (A : Matrix l m α) (B : Matrix m n α)
     (A' : Matrix l' m' β) (B' : Matrix m' n' β) : (A ⬝ B) ⊗ₖₜ[R] (A' ⬝ B') = A ⊗ₖₜ A' ⬝ B ⊗ₖₜ B' :=
   kroneckerMapBilinear_mul_mul (TensorProduct.mk R α β) tmul_mul_tmul A B A' B'
 #align matrix.mul_kronecker_tmul_mul Matrix.mul_kroneckerTMul_mul
+-/
 
 end Semiring
 
@@ -566,6 +675,7 @@ section CommRing
 
 variable [CommRing R] [CommRing α] [CommRing β] [Algebra R α] [Algebra R β]
 
+#print Matrix.det_kroneckerTMul /-
 theorem det_kroneckerTMul [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] (A : Matrix m m α)
     (B : Matrix n n β) :
     det (A ⊗ₖₜ[R] B) = (det A ^ Fintype.card n) ⊗ₜ[R] (det B ^ Fintype.card m) :=
@@ -576,6 +686,7 @@ theorem det_kroneckerTMul [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n
   simp only [include_left_apply, include_right_apply, tmul_pow, tmul_mul_tmul, one_pow,
     _root_.mul_one, _root_.one_mul]
 #align matrix.det_kronecker_tmul Matrix.det_kroneckerTMul
+-/
 
 end CommRing
 
Diff
@@ -266,7 +266,6 @@ theorem det_kroneckerMapBilinear [CommSemiring R] [Fintype m] [Fintype n] [Decid
       · exact LinearMap.map_zero₂ _ _
       · exact map_zero _
     _ = _ := by simp_rw [det_block_diagonal, Finset.prod_const, Finset.card_univ]
-    
 #align matrix.det_kronecker_map_bilinear Matrix.det_kroneckerMapBilinear
 
 end KroneckerMap
Diff
@@ -410,7 +410,7 @@ theorem inv_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [C
     have hAB : ¬IsUnit (A ⊗ₖ B).det :=
       by
       refine' mt (fun hAB => _) hA
-      rw [det_kronecker] at hAB
+      rw [det_kronecker] at hAB 
       exact (isUnit_pow_iff Fintype.card_ne_zero).mp (isUnit_of_mul_isUnit_left hAB)
     rw [nonsing_inv_apply_not_is_unit _ hA, zero_kronecker, nonsing_inv_apply_not_is_unit _ hAB]
   by_cases hB : IsUnit B.det; swap
@@ -419,7 +419,7 @@ theorem inv_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [C
     have hAB : ¬IsUnit (A ⊗ₖ B).det :=
       by
       refine' mt (fun hAB => _) hB
-      rw [det_kronecker] at hAB
+      rw [det_kronecker] at hAB 
       exact (isUnit_pow_iff Fintype.card_ne_zero).mp (isUnit_of_mul_isUnit_right hAB)
     rw [nonsing_inv_apply_not_is_unit _ hB, kronecker_zero, nonsing_inv_apply_not_is_unit _ hAB]
   -- otherwise follows trivially from `mul_kronecker_mul`
Diff
@@ -52,7 +52,7 @@ These require `open_locale kronecker`:
 
 namespace Matrix
 
-open Matrix
+open scoped Matrix
 
 variable {R α α' β β' γ γ' : Type _}
 
@@ -276,7 +276,7 @@ end KroneckerMap
 
 section Kronecker
 
-open Matrix
+open scoped Matrix
 
 #print Matrix.kronecker /-
 /-- The Kronecker product. This is just a shorthand for `kronecker_map (*)`. Prefer the notation
@@ -438,7 +438,7 @@ variable (R)
 
 open TensorProduct
 
-open Matrix TensorProduct
+open scoped Matrix TensorProduct
 
 section Module
 
@@ -542,7 +542,7 @@ end Module
 
 section Algebra
 
-open Kronecker
+open scoped Kronecker
 
 open Algebra.TensorProduct
 
Diff
@@ -67,12 +67,6 @@ def kroneckerMap (f : α → β → γ) (A : Matrix l m α) (B : Matrix n p β)
 #align matrix.kronecker_map Matrix.kroneckerMap
 -/
 
-/- warning: matrix.kronecker_map_apply -> Matrix.kroneckerMap_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} (f : α -> β -> γ) (A : Matrix.{u4, u5, u1} l m α) (B : Matrix.{u6, u7, u2} n p β) (i : Prod.{u4, u6} l n) (j : Prod.{u5, u7} m p), Eq.{succ u3} γ (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A B i j) (f (A (Prod.fst.{u4, u6} l n i) (Prod.fst.{u5, u7} m p j)) (B (Prod.snd.{u4, u6} l n i) (Prod.snd.{u5, u7} m p j)))
-but is expected to have type
-  forall {α : Type.{u5}} {β : Type.{u2}} {γ : Type.{u1}} {l : Type.{u7}} {m : Type.{u6}} {n : Type.{u4}} {p : Type.{u3}} (f : α -> β -> γ) (A : Matrix.{u7, u6, u5} l m α) (B : Matrix.{u4, u3, u2} n p β) (i : Prod.{u7, u4} l n) (j : Prod.{u6, u3} m p), Eq.{succ u1} γ (Matrix.kroneckerMap.{u5, u2, u1, u7, u6, u4, u3} α β γ l m n p f A B i j) (f (A (Prod.fst.{u7, u4} l n i) (Prod.fst.{u6, u3} m p j)) (B (Prod.snd.{u7, u4} l n i) (Prod.snd.{u6, u3} m p j)))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_apply Matrix.kroneckerMap_applyₓ'. -/
 -- TODO: set as an equation lemma for `kronecker_map`, see mathlib4#3024
 @[simp]
 theorem kroneckerMap_apply (f : α → β → γ) (A : Matrix l m α) (B : Matrix n p β) (i j) :
@@ -80,128 +74,62 @@ theorem kroneckerMap_apply (f : α → β → γ) (A : Matrix l m α) (B : Matri
   rfl
 #align matrix.kronecker_map_apply Matrix.kroneckerMap_apply
 
-/- warning: matrix.kronecker_map_transpose -> Matrix.kroneckerMap_transpose is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} (f : α -> β -> γ) (A : Matrix.{u4, u5, u1} l m α) (B : Matrix.{u6, u7, u2} n p β), Eq.{succ (max (max u5 u7) (max u4 u6) u3)} (Matrix.{max u5 u7, max u4 u6, u3} (Prod.{u5, u7} m p) (Prod.{u4, u6} l n) γ) (Matrix.kroneckerMap.{u1, u2, u3, u5, u4, u7, u6} α β γ m l p n f (Matrix.transpose.{u1, u4, u5} l m α A) (Matrix.transpose.{u2, u6, u7} n p β B)) (Matrix.transpose.{u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A B))
-but is expected to have type
-  forall {α : Type.{u5}} {β : Type.{u2}} {γ : Type.{u1}} {l : Type.{u7}} {m : Type.{u6}} {n : Type.{u4}} {p : Type.{u3}} (f : α -> β -> γ) (A : Matrix.{u7, u6, u5} l m α) (B : Matrix.{u4, u3, u2} n p β), Eq.{max (max (max (max (succ u1) (succ u7)) (succ u6)) (succ u4)) (succ u3)} (Matrix.{max u3 u6, max u4 u7, u1} (Prod.{u6, u3} m p) (Prod.{u7, u4} l n) γ) (Matrix.kroneckerMap.{u5, u2, u1, u6, u7, u3, u4} α β γ m l p n f (Matrix.transpose.{u5, u7, u6} l m α A) (Matrix.transpose.{u2, u4, u3} n p β B)) (Matrix.transpose.{u1, max u4 u7, max u3 u6} (Prod.{u7, u4} l n) (Prod.{u6, u3} m p) γ (Matrix.kroneckerMap.{u5, u2, u1, u7, u6, u4, u3} α β γ l m n p f A B))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_transpose Matrix.kroneckerMap_transposeₓ'. -/
 theorem kroneckerMap_transpose (f : α → β → γ) (A : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f Aᵀ Bᵀ = (kroneckerMap f A B)ᵀ :=
   ext fun i j => rfl
 #align matrix.kronecker_map_transpose Matrix.kroneckerMap_transpose
 
-/- warning: matrix.kronecker_map_map_left -> Matrix.kroneckerMap_map_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {α' : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {p : Type.{u8}} (f : α' -> β -> γ) (g : α -> α') (A : Matrix.{u5, u6, u1} l m α) (B : Matrix.{u7, u8, u3} n p β), Eq.{succ (max (max u5 u7) (max u6 u8) u4)} (Matrix.{max u5 u7, max u6 u8, u4} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) γ) (Matrix.kroneckerMap.{u2, u3, u4, u5, u6, u7, u8} α' β γ l m n p f (Matrix.map.{u1, u2, u5, u6} l m α α' A g) B) (Matrix.kroneckerMap.{u1, u3, u4, u5, u6, u7, u8} α β γ l m n p (fun (a : α) (b : β) => f (g a) b) A B)
-but is expected to have type
-  forall {α : Type.{u6}} {α' : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} {l : Type.{u8}} {m : Type.{u7}} {n : Type.{u5}} {p : Type.{u4}} (f : α' -> β -> γ) (g : α -> α') (A : Matrix.{u8, u7, u6} l m α) (B : Matrix.{u5, u4, u3} n p β), Eq.{max (max (max (max (succ u2) (succ u8)) (succ u7)) (succ u5)) (succ u4)} (Matrix.{max u5 u8, max u4 u7, u2} (Prod.{u8, u5} l n) (Prod.{u7, u4} m p) γ) (Matrix.kroneckerMap.{u1, u3, u2, u8, u7, u5, u4} α' β γ l m n p f (Matrix.map.{u6, u1, u8, u7} l m α α' A g) B) (Matrix.kroneckerMap.{u6, u3, u2, u8, u7, u5, u4} α β γ l m n p (fun (a : α) (b : β) => f (g a) b) A B)
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_map_left Matrix.kroneckerMap_map_leftₓ'. -/
 theorem kroneckerMap_map_left (f : α' → β → γ) (g : α → α') (A : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f (A.map g) B = kroneckerMap (fun a b => f (g a) b) A B :=
   ext fun i j => rfl
 #align matrix.kronecker_map_map_left Matrix.kroneckerMap_map_left
 
-/- warning: matrix.kronecker_map_map_right -> Matrix.kroneckerMap_map_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {β' : Type.{u3}} {γ : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {p : Type.{u8}} (f : α -> β' -> γ) (g : β -> β') (A : Matrix.{u5, u6, u1} l m α) (B : Matrix.{u7, u8, u2} n p β), Eq.{succ (max (max u5 u7) (max u6 u8) u4)} (Matrix.{max u5 u7, max u6 u8, u4} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) γ) (Matrix.kroneckerMap.{u1, u3, u4, u5, u6, u7, u8} α β' γ l m n p f A (Matrix.map.{u2, u3, u7, u8} n p β β' B g)) (Matrix.kroneckerMap.{u1, u2, u4, u5, u6, u7, u8} α β γ l m n p (fun (a : α) (b : β) => f a (g b)) A B)
-but is expected to have type
-  forall {α : Type.{u6}} {β : Type.{u3}} {β' : Type.{u1}} {γ : Type.{u2}} {l : Type.{u8}} {m : Type.{u7}} {n : Type.{u5}} {p : Type.{u4}} (f : α -> β' -> γ) (g : β -> β') (A : Matrix.{u8, u7, u6} l m α) (B : Matrix.{u5, u4, u3} n p β), Eq.{max (max (max (max (succ u2) (succ u8)) (succ u7)) (succ u5)) (succ u4)} (Matrix.{max u5 u8, max u4 u7, u2} (Prod.{u8, u5} l n) (Prod.{u7, u4} m p) γ) (Matrix.kroneckerMap.{u6, u1, u2, u8, u7, u5, u4} α β' γ l m n p f A (Matrix.map.{u3, u1, u5, u4} n p β β' B g)) (Matrix.kroneckerMap.{u6, u3, u2, u8, u7, u5, u4} α β γ l m n p (fun (a : α) (b : β) => f a (g b)) A B)
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_map_right Matrix.kroneckerMap_map_rightₓ'. -/
 theorem kroneckerMap_map_right (f : α → β' → γ) (g : β → β') (A : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f A (B.map g) = kroneckerMap (fun a b => f a (g b)) A B :=
   ext fun i j => rfl
 #align matrix.kronecker_map_map_right Matrix.kroneckerMap_map_right
 
-/- warning: matrix.kronecker_map_map -> Matrix.kroneckerMap_map is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {γ' : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {p : Type.{u8}} (f : α -> β -> γ) (g : γ -> γ') (A : Matrix.{u5, u6, u1} l m α) (B : Matrix.{u7, u8, u2} n p β), Eq.{succ (max (max u5 u7) (max u6 u8) u4)} (Matrix.{max u5 u7, max u6 u8, u4} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) γ') (Matrix.map.{u3, u4, max u5 u7, max u6 u8} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) γ γ' (Matrix.kroneckerMap.{u1, u2, u3, u5, u6, u7, u8} α β γ l m n p f A B) g) (Matrix.kroneckerMap.{u1, u2, u4, u5, u6, u7, u8} α β γ' l m n p (fun (a : α) (b : β) => g (f a b)) A B)
-but is expected to have type
-  forall {α : Type.{u6}} {β : Type.{u3}} {γ : Type.{u1}} {γ' : Type.{u2}} {l : Type.{u8}} {m : Type.{u7}} {n : Type.{u5}} {p : Type.{u4}} (f : α -> β -> γ) (g : γ -> γ') (A : Matrix.{u8, u7, u6} l m α) (B : Matrix.{u5, u4, u3} n p β), Eq.{max (max (max (max (succ u2) (succ u8)) (succ u7)) (succ u5)) (succ u4)} (Matrix.{max u8 u5, max u7 u4, u2} (Prod.{u8, u5} l n) (Prod.{u7, u4} m p) γ') (Matrix.map.{u1, u2, max u8 u5, max u7 u4} (Prod.{u8, u5} l n) (Prod.{u7, u4} m p) γ γ' (Matrix.kroneckerMap.{u6, u3, u1, u8, u7, u5, u4} α β γ l m n p f A B) g) (Matrix.kroneckerMap.{u6, u3, u2, u8, u7, u5, u4} α β γ' l m n p (fun (a : α) (b : β) => g (f a b)) A B)
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_map Matrix.kroneckerMap_mapₓ'. -/
 theorem kroneckerMap_map (f : α → β → γ) (g : γ → γ') (A : Matrix l m α) (B : Matrix n p β) :
     (kroneckerMap f A B).map g = kroneckerMap (fun a b => g (f a b)) A B :=
   ext fun i j => rfl
 #align matrix.kronecker_map_map Matrix.kroneckerMap_map
 
-/- warning: matrix.kronecker_map_zero_left -> Matrix.kroneckerMap_zero_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : Zero.{u1} α] [_inst_2 : Zero.{u3} γ] (f : α -> β -> γ), (forall (b : β), Eq.{succ u3} γ (f (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α _inst_1))) b) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_2)))) -> (forall (B : Matrix.{u6, u7, u2} n p β), Eq.{succ (max (max u4 u6) (max u5 u7) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f (OfNat.ofNat.{max u4 u5 u1} (Matrix.{u4, u5, u1} l m α) 0 (OfNat.mk.{max u4 u5 u1} (Matrix.{u4, u5, u1} l m α) 0 (Zero.zero.{max u4 u5 u1} (Matrix.{u4, u5, u1} l m α) (Matrix.hasZero.{u1, u4, u5} l m α _inst_1)))) B) (OfNat.ofNat.{max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) 0 (OfNat.mk.{max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) 0 (Zero.zero.{max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.hasZero.{u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ _inst_2)))))
-but is expected to have type
-  forall {α : Type.{u7}} {β : Type.{u3}} {γ : Type.{u6}} {l : Type.{u2}} {m : Type.{u1}} {n : Type.{u5}} {p : Type.{u4}} [_inst_1 : Zero.{u7} α] [_inst_2 : Zero.{u6} γ] (f : α -> β -> γ), (forall (b : β), Eq.{succ u6} γ (f (OfNat.ofNat.{u7} α 0 (Zero.toOfNat0.{u7} α _inst_1)) b) (OfNat.ofNat.{u6} γ 0 (Zero.toOfNat0.{u6} γ _inst_2))) -> (forall (B : Matrix.{u5, u4, u3} n p β), Eq.{max (max (max (max (succ u6) (succ u2)) (succ u1)) (succ u5)) (succ u4)} (Matrix.{max u5 u2, max u4 u1, u6} (Prod.{u2, u5} l n) (Prod.{u1, u4} m p) γ) (Matrix.kroneckerMap.{u7, u3, u6, u2, u1, u5, u4} α β γ l m n p f (OfNat.ofNat.{max (max u7 u2) u1} (Matrix.{u2, u1, u7} l m α) 0 (Zero.toOfNat0.{max (max u7 u2) u1} (Matrix.{u2, u1, u7} l m α) (Matrix.zero.{u7, u2, u1} l m α _inst_1))) B) (OfNat.ofNat.{max (max (max (max u6 u2) u1) u5) u4} (Matrix.{max u5 u2, max u4 u1, u6} (Prod.{u2, u5} l n) (Prod.{u1, u4} m p) γ) 0 (Zero.toOfNat0.{max (max (max (max u6 u2) u1) u5) u4} (Matrix.{max u5 u2, max u4 u1, u6} (Prod.{u2, u5} l n) (Prod.{u1, u4} m p) γ) (Matrix.zero.{u6, max u2 u5, max u1 u4} (Prod.{u2, u5} l n) (Prod.{u1, u4} m p) γ _inst_2))))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_zero_left Matrix.kroneckerMap_zero_leftₓ'. -/
 @[simp]
 theorem kroneckerMap_zero_left [Zero α] [Zero γ] (f : α → β → γ) (hf : ∀ b, f 0 b = 0)
     (B : Matrix n p β) : kroneckerMap f (0 : Matrix l m α) B = 0 :=
   ext fun i j => hf _
 #align matrix.kronecker_map_zero_left Matrix.kroneckerMap_zero_left
 
-/- warning: matrix.kronecker_map_zero_right -> Matrix.kroneckerMap_zero_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : Zero.{u2} β] [_inst_2 : Zero.{u3} γ] (f : α -> β -> γ), (forall (a : α), Eq.{succ u3} γ (f a (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_1)))) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_2)))) -> (forall (A : Matrix.{u4, u5, u1} l m α), Eq.{succ (max (max u4 u6) (max u5 u7) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A (OfNat.ofNat.{max u6 u7 u2} (Matrix.{u6, u7, u2} n p β) 0 (OfNat.mk.{max u6 u7 u2} (Matrix.{u6, u7, u2} n p β) 0 (Zero.zero.{max u6 u7 u2} (Matrix.{u6, u7, u2} n p β) (Matrix.hasZero.{u2, u6, u7} n p β _inst_1))))) (OfNat.ofNat.{max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) 0 (OfNat.mk.{max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) 0 (Zero.zero.{max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.hasZero.{u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ _inst_2)))))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u7}} {γ : Type.{u6}} {l : Type.{u5}} {m : Type.{u4}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : Zero.{u7} β] [_inst_2 : Zero.{u6} γ] (f : α -> β -> γ), (forall (a : α), Eq.{succ u6} γ (f a (OfNat.ofNat.{u7} β 0 (Zero.toOfNat0.{u7} β _inst_1))) (OfNat.ofNat.{u6} γ 0 (Zero.toOfNat0.{u6} γ _inst_2))) -> (forall (A : Matrix.{u5, u4, u3} l m α), Eq.{max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u2)) (succ u1)} (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.kroneckerMap.{u3, u7, u6, u5, u4, u2, u1} α β γ l m n p f A (OfNat.ofNat.{max (max u7 u2) u1} (Matrix.{u2, u1, u7} n p β) 0 (Zero.toOfNat0.{max (max u7 u2) u1} (Matrix.{u2, u1, u7} n p β) (Matrix.zero.{u7, u2, u1} n p β _inst_1)))) (OfNat.ofNat.{max (max (max (max u6 u5) u4) u2) u1} (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) 0 (Zero.toOfNat0.{max (max (max (max u6 u5) u4) u2) u1} (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.zero.{u6, max u5 u2, max u4 u1} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ _inst_2))))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_zero_right Matrix.kroneckerMap_zero_rightₓ'. -/
 @[simp]
 theorem kroneckerMap_zero_right [Zero β] [Zero γ] (f : α → β → γ) (hf : ∀ a, f a 0 = 0)
     (A : Matrix l m α) : kroneckerMap f A (0 : Matrix n p β) = 0 :=
   ext fun i j => hf _
 #align matrix.kronecker_map_zero_right Matrix.kroneckerMap_zero_right
 
-/- warning: matrix.kronecker_map_add_left -> Matrix.kroneckerMap_add_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : Add.{u1} α] [_inst_2 : Add.{u3} γ] (f : α -> β -> γ), (forall (a₁ : α) (a₂ : α) (b : β), Eq.{succ u3} γ (f (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α _inst_1) a₁ a₂) b) (HAdd.hAdd.{u3, u3, u3} γ γ γ (instHAdd.{u3} γ _inst_2) (f a₁ b) (f a₂ b))) -> (forall (A₁ : Matrix.{u4, u5, u1} l m α) (A₂ : Matrix.{u4, u5, u1} l m α) (B : Matrix.{u6, u7, u2} n p β), Eq.{succ (max (max u4 u6) (max u5 u7) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f (HAdd.hAdd.{max u4 u5 u1, max u4 u5 u1, max u4 u5 u1} (Matrix.{u4, u5, u1} l m α) (Matrix.{u4, u5, u1} l m α) (Matrix.{u4, u5, u1} l m α) (instHAdd.{max u4 u5 u1} (Matrix.{u4, u5, u1} l m α) (Matrix.hasAdd.{u1, u4, u5} l m α _inst_1)) A₁ A₂) B) (HAdd.hAdd.{max (max u4 u6) (max u5 u7) u3, max (max u4 u6) (max u5 u7) u3, max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (instHAdd.{max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.hasAdd.{u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ _inst_2)) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A₁ B) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A₂ B)))
-but is expected to have type
-  forall {α : Type.{u7}} {β : Type.{u1}} {γ : Type.{u6}} {l : Type.{u5}} {m : Type.{u4}} {n : Type.{u3}} {p : Type.{u2}} [_inst_1 : Add.{u7} α] [_inst_2 : Add.{u6} γ] (f : α -> β -> γ), (forall (a₁ : α) (a₂ : α) (b : β), Eq.{succ u6} γ (f (HAdd.hAdd.{u7, u7, u7} α α α (instHAdd.{u7} α _inst_1) a₁ a₂) b) (HAdd.hAdd.{u6, u6, u6} γ γ γ (instHAdd.{u6} γ _inst_2) (f a₁ b) (f a₂ b))) -> (forall (A₁ : Matrix.{u5, u4, u7} l m α) (A₂ : Matrix.{u5, u4, u7} l m α) (B : Matrix.{u3, u2, u1} n p β), Eq.{max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)} (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (Matrix.kroneckerMap.{u7, u1, u6, u5, u4, u3, u2} α β γ l m n p f (HAdd.hAdd.{max (max u7 u5) u4, max (max u7 u5) u4, max (max u7 u5) u4} (Matrix.{u5, u4, u7} l m α) (Matrix.{u5, u4, u7} l m α) (Matrix.{u5, u4, u7} l m α) (instHAdd.{max (max u7 u5) u4} (Matrix.{u5, u4, u7} l m α) (Matrix.add.{u7, u5, u4} l m α _inst_1)) A₁ A₂) B) (HAdd.hAdd.{max (max (max (max u6 u5) u4) u3) u2, max (max (max (max u6 u5) u4) u3) u2, max (max (max (max u6 u5) u4) u3) u2} (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (instHAdd.{max (max (max (max u6 u5) u4) u3) u2} (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (Matrix.add.{u6, max u5 u3, max u4 u2} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ _inst_2)) (Matrix.kroneckerMap.{u7, u1, u6, u5, u4, u3, u2} α β γ l m n p f A₁ B) (Matrix.kroneckerMap.{u7, u1, u6, u5, u4, u3, u2} α β γ l m n p f A₂ B)))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_add_left Matrix.kroneckerMap_add_leftₓ'. -/
 theorem kroneckerMap_add_left [Add α] [Add γ] (f : α → β → γ)
     (hf : ∀ a₁ a₂ b, f (a₁ + a₂) b = f a₁ b + f a₂ b) (A₁ A₂ : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f (A₁ + A₂) B = kroneckerMap f A₁ B + kroneckerMap f A₂ B :=
   ext fun i j => hf _ _ _
 #align matrix.kronecker_map_add_left Matrix.kroneckerMap_add_left
 
-/- warning: matrix.kronecker_map_add_right -> Matrix.kroneckerMap_add_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : Add.{u2} β] [_inst_2 : Add.{u3} γ] (f : α -> β -> γ), (forall (a : α) (b₁ : β) (b₂ : β), Eq.{succ u3} γ (f a (HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β _inst_1) b₁ b₂)) (HAdd.hAdd.{u3, u3, u3} γ γ γ (instHAdd.{u3} γ _inst_2) (f a b₁) (f a b₂))) -> (forall (A : Matrix.{u4, u5, u1} l m α) (B₁ : Matrix.{u6, u7, u2} n p β) (B₂ : Matrix.{u6, u7, u2} n p β), Eq.{succ (max (max u4 u6) (max u5 u7) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A (HAdd.hAdd.{max u6 u7 u2, max u6 u7 u2, max u6 u7 u2} (Matrix.{u6, u7, u2} n p β) (Matrix.{u6, u7, u2} n p β) (Matrix.{u6, u7, u2} n p β) (instHAdd.{max u6 u7 u2} (Matrix.{u6, u7, u2} n p β) (Matrix.hasAdd.{u2, u6, u7} n p β _inst_1)) B₁ B₂)) (HAdd.hAdd.{max (max u4 u6) (max u5 u7) u3, max (max u4 u6) (max u5 u7) u3, max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (instHAdd.{max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.hasAdd.{u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ _inst_2)) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A B₁) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A B₂)))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u7}} {γ : Type.{u6}} {l : Type.{u5}} {m : Type.{u4}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : Add.{u7} β] [_inst_2 : Add.{u6} γ] (f : α -> β -> γ), (forall (a : α) (b₁ : β) (b₂ : β), Eq.{succ u6} γ (f a (HAdd.hAdd.{u7, u7, u7} β β β (instHAdd.{u7} β _inst_1) b₁ b₂)) (HAdd.hAdd.{u6, u6, u6} γ γ γ (instHAdd.{u6} γ _inst_2) (f a b₁) (f a b₂))) -> (forall (A : Matrix.{u5, u4, u3} l m α) (B₁ : Matrix.{u2, u1, u7} n p β) (B₂ : Matrix.{u2, u1, u7} n p β), Eq.{max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u2)) (succ u1)} (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.kroneckerMap.{u3, u7, u6, u5, u4, u2, u1} α β γ l m n p f A (HAdd.hAdd.{max (max u7 u2) u1, max (max u7 u2) u1, max (max u7 u2) u1} (Matrix.{u2, u1, u7} n p β) (Matrix.{u2, u1, u7} n p β) (Matrix.{u2, u1, u7} n p β) (instHAdd.{max (max u7 u2) u1} (Matrix.{u2, u1, u7} n p β) (Matrix.add.{u7, u2, u1} n p β _inst_1)) B₁ B₂)) (HAdd.hAdd.{max (max (max (max u6 u5) u4) u2) u1, max (max (max (max u6 u5) u4) u2) u1, max (max (max (max u6 u5) u4) u2) u1} (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (instHAdd.{max (max (max (max u6 u5) u4) u2) u1} (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.add.{u6, max u5 u2, max u4 u1} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ _inst_2)) (Matrix.kroneckerMap.{u3, u7, u6, u5, u4, u2, u1} α β γ l m n p f A B₁) (Matrix.kroneckerMap.{u3, u7, u6, u5, u4, u2, u1} α β γ l m n p f A B₂)))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_add_right Matrix.kroneckerMap_add_rightₓ'. -/
 theorem kroneckerMap_add_right [Add β] [Add γ] (f : α → β → γ)
     (hf : ∀ a b₁ b₂, f a (b₁ + b₂) = f a b₁ + f a b₂) (A : Matrix l m α) (B₁ B₂ : Matrix n p β) :
     kroneckerMap f A (B₁ + B₂) = kroneckerMap f A B₁ + kroneckerMap f A B₂ :=
   ext fun i j => hf _ _ _
 #align matrix.kronecker_map_add_right Matrix.kroneckerMap_add_right
 
-/- warning: matrix.kronecker_map_smul_left -> Matrix.kroneckerMap_smul_left is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {p : Type.{u8}} [_inst_1 : SMul.{u1, u2} R α] [_inst_2 : SMul.{u1, u4} R γ] (f : α -> β -> γ) (r : R), (forall (a : α) (b : β), Eq.{succ u4} γ (f (SMul.smul.{u1, u2} R α _inst_1 r a) b) (SMul.smul.{u1, u4} R γ _inst_2 r (f a b))) -> (forall (A : Matrix.{u5, u6, u2} l m α) (B : Matrix.{u7, u8, u3} n p β), Eq.{succ (max (max u5 u7) (max u6 u8) u4)} (Matrix.{max u5 u7, max u6 u8, u4} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) γ) (Matrix.kroneckerMap.{u2, u3, u4, u5, u6, u7, u8} α β γ l m n p f (SMul.smul.{u1, max u5 u6 u2} R (Matrix.{u5, u6, u2} l m α) (Matrix.hasSmul.{u2, u5, u6, u1} l m R α _inst_1) r A) B) (SMul.smul.{u1, max (max u5 u7) (max u6 u8) u4} R (Matrix.{max u5 u7, max u6 u8, u4} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) γ) (Matrix.hasSmul.{u4, max u5 u7, max u6 u8, u1} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) R γ _inst_2) r (Matrix.kroneckerMap.{u2, u3, u4, u5, u6, u7, u8} α β γ l m n p f A B)))
-but is expected to have type
-  forall {R : Type.{u8}} {α : Type.{u7}} {β : Type.{u1}} {γ : Type.{u6}} {l : Type.{u5}} {m : Type.{u4}} {n : Type.{u3}} {p : Type.{u2}} [_inst_1 : SMul.{u8, u7} R α] [_inst_2 : SMul.{u8, u6} R γ] (f : α -> β -> γ) (r : R), (forall (a : α) (b : β), Eq.{succ u6} γ (f (HSMul.hSMul.{u8, u7, u7} R α α (instHSMul.{u8, u7} R α _inst_1) r a) b) (HSMul.hSMul.{u8, u6, u6} R γ γ (instHSMul.{u8, u6} R γ _inst_2) r (f a b))) -> (forall (A : Matrix.{u5, u4, u7} l m α) (B : Matrix.{u3, u2, u1} n p β), Eq.{max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)} (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (Matrix.kroneckerMap.{u7, u1, u6, u5, u4, u3, u2} α β γ l m n p f (HSMul.hSMul.{u8, max (max u7 u5) u4, max (max u7 u5) u4} R (Matrix.{u5, u4, u7} l m α) (Matrix.{u5, u4, u7} l m α) (instHSMul.{u8, max (max u7 u5) u4} R (Matrix.{u5, u4, u7} l m α) (Matrix.smul.{u7, u5, u4, u8} l m R α _inst_1)) r A) B) (HSMul.hSMul.{u8, max (max (max (max u2 u3) u4) u5) u6, max (max (max (max u6 u5) u4) u3) u2} R (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (instHSMul.{u8, max (max (max (max u6 u5) u4) u3) u2} R (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (Matrix.smul.{u6, max u5 u3, max u4 u2, u8} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) R γ _inst_2)) r (Matrix.kroneckerMap.{u7, u1, u6, u5, u4, u3, u2} α β γ l m n p f A B)))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_smul_left Matrix.kroneckerMap_smul_leftₓ'. -/
 theorem kroneckerMap_smul_left [SMul R α] [SMul R γ] (f : α → β → γ) (r : R)
     (hf : ∀ a b, f (r • a) b = r • f a b) (A : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f (r • A) B = r • kroneckerMap f A B :=
   ext fun i j => hf _ _
 #align matrix.kronecker_map_smul_left Matrix.kroneckerMap_smul_left
 
-/- warning: matrix.kronecker_map_smul_right -> Matrix.kroneckerMap_smul_right is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {p : Type.{u8}} [_inst_1 : SMul.{u1, u3} R β] [_inst_2 : SMul.{u1, u4} R γ] (f : α -> β -> γ) (r : R), (forall (a : α) (b : β), Eq.{succ u4} γ (f a (SMul.smul.{u1, u3} R β _inst_1 r b)) (SMul.smul.{u1, u4} R γ _inst_2 r (f a b))) -> (forall (A : Matrix.{u5, u6, u2} l m α) (B : Matrix.{u7, u8, u3} n p β), Eq.{succ (max (max u5 u7) (max u6 u8) u4)} (Matrix.{max u5 u7, max u6 u8, u4} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) γ) (Matrix.kroneckerMap.{u2, u3, u4, u5, u6, u7, u8} α β γ l m n p f A (SMul.smul.{u1, max u7 u8 u3} R (Matrix.{u7, u8, u3} n p β) (Matrix.hasSmul.{u3, u7, u8, u1} n p R β _inst_1) r B)) (SMul.smul.{u1, max (max u5 u7) (max u6 u8) u4} R (Matrix.{max u5 u7, max u6 u8, u4} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) γ) (Matrix.hasSmul.{u4, max u5 u7, max u6 u8, u1} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) R γ _inst_2) r (Matrix.kroneckerMap.{u2, u3, u4, u5, u6, u7, u8} α β γ l m n p f A B)))
-but is expected to have type
-  forall {R : Type.{u8}} {α : Type.{u3}} {β : Type.{u7}} {γ : Type.{u6}} {l : Type.{u5}} {m : Type.{u4}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : SMul.{u8, u7} R β] [_inst_2 : SMul.{u8, u6} R γ] (f : α -> β -> γ) (r : R), (forall (a : α) (b : β), Eq.{succ u6} γ (f a (HSMul.hSMul.{u8, u7, u7} R β β (instHSMul.{u8, u7} R β _inst_1) r b)) (HSMul.hSMul.{u8, u6, u6} R γ γ (instHSMul.{u8, u6} R γ _inst_2) r (f a b))) -> (forall (A : Matrix.{u5, u4, u3} l m α) (B : Matrix.{u2, u1, u7} n p β), Eq.{max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u2)) (succ u1)} (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.kroneckerMap.{u3, u7, u6, u5, u4, u2, u1} α β γ l m n p f A (HSMul.hSMul.{u8, max (max u7 u2) u1, max (max u7 u2) u1} R (Matrix.{u2, u1, u7} n p β) (Matrix.{u2, u1, u7} n p β) (instHSMul.{u8, max (max u7 u2) u1} R (Matrix.{u2, u1, u7} n p β) (Matrix.smul.{u7, u2, u1, u8} n p R β _inst_1)) r B)) (HSMul.hSMul.{u8, max (max (max (max u1 u2) u4) u5) u6, max (max (max (max u6 u5) u4) u2) u1} R (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (instHSMul.{u8, max (max (max (max u6 u5) u4) u2) u1} R (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.smul.{u6, max u5 u2, max u4 u1, u8} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) R γ _inst_2)) r (Matrix.kroneckerMap.{u3, u7, u6, u5, u4, u2, u1} α β γ l m n p f A B)))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_smul_right Matrix.kroneckerMap_smul_rightₓ'. -/
 theorem kroneckerMap_smul_right [SMul R β] [SMul R γ] (f : α → β → γ) (r : R)
     (hf : ∀ a b, f a (r • b) = r • f a b) (A : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f A (r • B) = r • kroneckerMap f A B :=
   ext fun i j => hf _ _
 #align matrix.kronecker_map_smul_right Matrix.kroneckerMap_smul_right
 
-/- warning: matrix.kronecker_map_diagonal_diagonal -> Matrix.kroneckerMap_diagonal_diagonal is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} [_inst_1 : Zero.{u1} α] [_inst_2 : Zero.{u2} β] [_inst_3 : Zero.{u3} γ] [_inst_4 : DecidableEq.{succ u4} m] [_inst_5 : DecidableEq.{succ u5} n] (f : α -> β -> γ), (forall (b : β), Eq.{succ u3} γ (f (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α _inst_1))) b) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_3)))) -> (forall (a : α), Eq.{succ u3} γ (f a (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_3)))) -> (forall (a : m -> α) (b : n -> β), Eq.{succ (max (max u4 u5) u3)} (Matrix.{max u4 u5, max u4 u5, u3} (Prod.{u4, u5} m n) (Prod.{u4, u5} m n) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u4, u5, u5} α β γ m m n n f (Matrix.diagonal.{u1, u4} m α (fun (a : m) (b : m) => _inst_4 a b) _inst_1 a) (Matrix.diagonal.{u2, u5} n β (fun (a : n) (b : n) => _inst_5 a b) _inst_2 b)) (Matrix.diagonal.{u3, max u4 u5} (Prod.{u4, u5} m n) γ (fun (a : Prod.{u4, u5} m n) (b : Prod.{u4, u5} m n) => Prod.Lex.decidableEq.{u4, u5} m n (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_3 (fun (mn : Prod.{u4, u5} m n) => f (a (Prod.fst.{u4, u5} m n mn)) (b (Prod.snd.{u4, u5} m n mn)))))
-but is expected to have type
-  forall {α : Type.{u5}} {β : Type.{u4}} {γ : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} [_inst_1 : Zero.{u5} α] [_inst_2 : Zero.{u4} β] [_inst_3 : Zero.{u3} γ] [_inst_4 : DecidableEq.{succ u2} m] [_inst_5 : DecidableEq.{succ u1} n] (f : α -> β -> γ), (forall (b : β), Eq.{succ u3} γ (f (OfNat.ofNat.{u5} α 0 (Zero.toOfNat0.{u5} α _inst_1)) b) (OfNat.ofNat.{u3} γ 0 (Zero.toOfNat0.{u3} γ _inst_3))) -> (forall (a : α), Eq.{succ u3} γ (f a (OfNat.ofNat.{u4} β 0 (Zero.toOfNat0.{u4} β _inst_2))) (OfNat.ofNat.{u3} γ 0 (Zero.toOfNat0.{u3} γ _inst_3))) -> (forall (a : m -> α) (b : n -> β), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (Matrix.{max u1 u2, max u1 u2, u3} (Prod.{u2, u1} m n) (Prod.{u2, u1} m n) γ) (Matrix.kroneckerMap.{u5, u4, u3, u2, u2, u1, u1} α β γ m m n n f (Matrix.diagonal.{u5, u2} m α (fun (a : m) (b : m) => _inst_4 a b) _inst_1 a) (Matrix.diagonal.{u4, u1} n β (fun (a : n) (b : n) => _inst_5 a b) _inst_2 b)) (Matrix.diagonal.{u3, max u2 u1} (Prod.{u2, u1} m n) γ (fun (a : Prod.{u2, u1} m n) (b : Prod.{u2, u1} m n) => instDecidableEqProd.{u2, u1} m n (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_3 (fun (mn : Prod.{u2, u1} m n) => f (a (Prod.fst.{u2, u1} m n mn)) (b (Prod.snd.{u2, u1} m n mn)))))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_diagonal_diagonal Matrix.kroneckerMap_diagonal_diagonalₓ'. -/
 theorem kroneckerMap_diagonal_diagonal [Zero α] [Zero β] [Zero γ] [DecidableEq m] [DecidableEq n]
     (f : α → β → γ) (hf₁ : ∀ b, f 0 b = 0) (hf₂ : ∀ a, f a 0 = 0) (a : m → α) (b : n → β) :
     kroneckerMap f (diagonal a) (diagonal b) = diagonal fun mn => f (a mn.1) (b mn.2) :=
@@ -210,12 +138,6 @@ theorem kroneckerMap_diagonal_diagonal [Zero α] [Zero β] [Zero γ] [DecidableE
   simp [diagonal, apply_ite f, ite_and, ite_apply, apply_ite (f (a i₁)), hf₁, hf₂]
 #align matrix.kronecker_map_diagonal_diagonal Matrix.kroneckerMap_diagonal_diagonal
 
-/- warning: matrix.kronecker_map_diagonal_right -> Matrix.kroneckerMap_diagonal_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} [_inst_1 : Zero.{u2} β] [_inst_2 : Zero.{u3} γ] [_inst_3 : DecidableEq.{succ u6} n] (f : α -> β -> γ), (forall (a : α), Eq.{succ u3} γ (f a (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_1)))) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_2)))) -> (forall (A : Matrix.{u4, u5, u1} l m α) (b : n -> β), Eq.{succ (max (max u4 u6) (max u5 u6) u3)} (Matrix.{max u4 u6, max u5 u6, u3} (Prod.{u4, u6} l n) (Prod.{u5, u6} m n) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u6} α β γ l m n n f A (Matrix.diagonal.{u2, u6} n β (fun (a : n) (b : n) => _inst_3 a b) _inst_1 b)) (Matrix.blockDiagonal.{u4, u5, u6, u3} l m n γ (fun (a : n) (b : n) => _inst_3 a b) _inst_2 (fun (i : n) => Matrix.map.{u1, u3, u4, u5} l m α γ A (fun (a : α) => f a (b i)))))
-but is expected to have type
-  forall {α : Type.{u1}} {β : Type.{u6}} {γ : Type.{u5}} {l : Type.{u3}} {m : Type.{u2}} {n : Type.{u4}} [_inst_1 : Zero.{u6} β] [_inst_2 : Zero.{u5} γ] [_inst_3 : DecidableEq.{succ u4} n] (f : α -> β -> γ), (forall (a : α), Eq.{succ u5} γ (f a (OfNat.ofNat.{u6} β 0 (Zero.toOfNat0.{u6} β _inst_1))) (OfNat.ofNat.{u5} γ 0 (Zero.toOfNat0.{u5} γ _inst_2))) -> (forall (A : Matrix.{u3, u2, u1} l m α) (b : n -> β), Eq.{max (max (max (succ u5) (succ u3)) (succ u2)) (succ u4)} (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} l n) (Prod.{u2, u4} m n) γ) (Matrix.kroneckerMap.{u1, u6, u5, u3, u2, u4, u4} α β γ l m n n f A (Matrix.diagonal.{u6, u4} n β (fun (a : n) (b : n) => _inst_3 a b) _inst_1 b)) (Matrix.blockDiagonal.{u3, u2, u4, u5} l m n γ (fun (a : n) (b : n) => _inst_3 a b) _inst_2 (fun (i : n) => Matrix.map.{u1, u5, u3, u2} l m α γ A (fun (a : α) => f a (b i)))))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_diagonal_right Matrix.kroneckerMap_diagonal_rightₓ'. -/
 theorem kroneckerMap_diagonal_right [Zero β] [Zero γ] [DecidableEq n] (f : α → β → γ)
     (hf : ∀ a, f a 0 = 0) (A : Matrix l m α) (b : n → β) :
     kroneckerMap f A (diagonal b) = blockDiagonal fun i => A.map fun a => f a (b i) :=
@@ -224,12 +146,6 @@ theorem kroneckerMap_diagonal_right [Zero β] [Zero γ] [DecidableEq n] (f : α
   simp [diagonal, block_diagonal, apply_ite (f (A i₁ j₁)), hf]
 #align matrix.kronecker_map_diagonal_right Matrix.kroneckerMap_diagonal_right
 
-/- warning: matrix.kronecker_map_diagonal_left -> Matrix.kroneckerMap_diagonal_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} [_inst_1 : Zero.{u1} α] [_inst_2 : Zero.{u3} γ] [_inst_3 : DecidableEq.{succ u4} l] (f : α -> β -> γ), (forall (b : β), Eq.{succ u3} γ (f (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α _inst_1))) b) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_2)))) -> (forall (a : l -> α) (B : Matrix.{u5, u6, u2} m n β), Eq.{succ (max (max u4 u5) (max u4 u6) u3)} (Matrix.{max u4 u5, max u4 u6, u3} (Prod.{u4, u5} l m) (Prod.{u4, u6} l n) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u4, u5, u6} α β γ l l m n f (Matrix.diagonal.{u1, u4} l α (fun (a : l) (b : l) => _inst_3 a b) _inst_1 a) B) (coeFn.{max 1 (max (succ (max (max u5 u4) (max u6 u4) u3)) (succ (max (max u4 u5) (max u4 u6) u3))) (succ (max (max u4 u5) (max u4 u6) u3)) (succ (max (max u5 u4) (max u6 u4) u3)), max (succ (max (max u5 u4) (max u6 u4) u3)) (succ (max (max u4 u5) (max u4 u6) u3))} (Equiv.{succ (max (max u5 u4) (max u6 u4) u3), succ (max (max u4 u5) (max u4 u6) u3)} (Matrix.{max u5 u4, max u6 u4, u3} (Prod.{u5, u4} m l) (Prod.{u6, u4} n l) γ) (Matrix.{max u4 u5, max u4 u6, u3} (Prod.{u4, u5} l m) (Prod.{u4, u6} l n) γ)) (fun (_x : Equiv.{succ (max (max u5 u4) (max u6 u4) u3), succ (max (max u4 u5) (max u4 u6) u3)} (Matrix.{max u5 u4, max u6 u4, u3} (Prod.{u5, u4} m l) (Prod.{u6, u4} n l) γ) (Matrix.{max u4 u5, max u4 u6, u3} (Prod.{u4, u5} l m) (Prod.{u4, u6} l n) γ)) => (Matrix.{max u5 u4, max u6 u4, u3} (Prod.{u5, u4} m l) (Prod.{u6, u4} n l) γ) -> (Matrix.{max u4 u5, max u4 u6, u3} (Prod.{u4, u5} l m) (Prod.{u4, u6} l n) γ)) (Equiv.hasCoeToFun.{succ (max (max u5 u4) (max u6 u4) u3), succ (max (max u4 u5) (max u4 u6) u3)} (Matrix.{max u5 u4, max u6 u4, u3} (Prod.{u5, u4} m l) (Prod.{u6, u4} n l) γ) (Matrix.{max u4 u5, max u4 u6, u3} (Prod.{u4, u5} l m) (Prod.{u4, u6} l n) γ)) (Matrix.reindex.{u3, max u4 u5, max u5 u4, max u6 u4, max u4 u6} (Prod.{u4, u5} l m) (Prod.{u5, u4} m l) (Prod.{u6, u4} n l) (Prod.{u4, u6} l n) γ (Equiv.prodComm.{u5, u4} m l) (Equiv.prodComm.{u6, u4} n l)) (Matrix.blockDiagonal.{u5, u6, u4, u3} m n l γ (fun (a : l) (b : l) => _inst_3 a b) _inst_2 (fun (i : l) => Matrix.map.{u2, u3, u5, u6} m n β γ B (fun (b : β) => f (a i) b)))))
-but is expected to have type
-  forall {α : Type.{u6}} {β : Type.{u1}} {γ : Type.{u5}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u2}} [_inst_1 : Zero.{u6} α] [_inst_2 : Zero.{u5} γ] [_inst_3 : DecidableEq.{succ u4} l] (f : α -> β -> γ), (forall (b : β), Eq.{succ u5} γ (f (OfNat.ofNat.{u6} α 0 (Zero.toOfNat0.{u6} α _inst_1)) b) (OfNat.ofNat.{u5} γ 0 (Zero.toOfNat0.{u5} γ _inst_2))) -> (forall (a : l -> α) (B : Matrix.{u3, u2, u1} m n β), Eq.{max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)} (Matrix.{max u3 u4, max u2 u4, u5} (Prod.{u4, u3} l m) (Prod.{u4, u2} l n) γ) (Matrix.kroneckerMap.{u6, u1, u5, u4, u4, u3, u2} α β γ l l m n f (Matrix.diagonal.{u6, u4} l α (fun (a : l) (b : l) => _inst_3 a b) _inst_1 a) B) (FunLike.coe.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2)} (Equiv.{max (max (succ u5) (succ (max u4 u2))) (succ (max u4 u3)), max (max (succ u5) (succ (max u4 u2))) (succ (max u4 u3))} (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u4, u3} l m) (Prod.{u4, u2} l n) γ)) (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) (fun (_x : Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) => Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u4, u3} l m) (Prod.{u4, u2} l n) γ) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2)} (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u4, u3} l m) (Prod.{u4, u2} l n) γ)) (Matrix.reindex.{u5, max u4 u3, max u4 u3, max u4 u2, max u4 u2} (Prod.{u4, u3} l m) (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) (Prod.{u4, u2} l n) γ (Equiv.prodComm.{u3, u4} m l) (Equiv.prodComm.{u2, u4} n l)) (Matrix.blockDiagonal.{u3, u2, u4, u5} m n l γ (fun (a : l) (b : l) => _inst_3 a b) _inst_2 (fun (i : l) => Matrix.map.{u1, u5, u3, u2} m n β γ B (fun (b : β) => f (a i) b)))))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_diagonal_left Matrix.kroneckerMap_diagonal_leftₓ'. -/
 theorem kroneckerMap_diagonal_left [Zero α] [Zero γ] [DecidableEq l] (f : α → β → γ)
     (hf : ∀ b, f 0 b = 0) (a : l → α) (B : Matrix m n β) :
     kroneckerMap f (diagonal a) B =
@@ -240,9 +156,6 @@ theorem kroneckerMap_diagonal_left [Zero α] [Zero γ] [DecidableEq l] (f : α 
   simp [diagonal, block_diagonal, apply_ite f, ite_apply, hf]
 #align matrix.kronecker_map_diagonal_left Matrix.kroneckerMap_diagonal_left
 
-/- warning: matrix.kronecker_map_one_one -> Matrix.kroneckerMap_one_one is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_one_one Matrix.kroneckerMap_one_oneₓ'. -/
 @[simp]
 theorem kroneckerMap_one_one [Zero α] [Zero β] [Zero γ] [One α] [One β] [One γ] [DecidableEq m]
     [DecidableEq n] (f : α → β → γ) (hf₁ : ∀ b, f 0 b = 0) (hf₂ : ∀ a, f a 0 = 0)
@@ -250,9 +163,6 @@ theorem kroneckerMap_one_one [Zero α] [Zero β] [Zero γ] [One α] [One β] [On
   (kroneckerMap_diagonal_diagonal _ hf₁ hf₂ _ _).trans <| by simp only [hf₃, diagonal_one]
 #align matrix.kronecker_map_one_one Matrix.kroneckerMap_one_one
 
-/- warning: matrix.kronecker_map_reindex -> Matrix.kroneckerMap_reindex is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_reindex Matrix.kroneckerMap_reindexₓ'. -/
 theorem kroneckerMap_reindex (f : α → β → γ) (el : l ≃ l') (em : m ≃ m') (en : n ≃ n') (ep : p ≃ p')
     (M : Matrix l m α) (N : Matrix n p β) :
     kroneckerMap f (reindex el em M) (reindex en ep N) =
@@ -260,12 +170,6 @@ theorem kroneckerMap_reindex (f : α → β → γ) (el : l ≃ l') (em : m ≃
   by ext (⟨i, i'⟩⟨j, j'⟩); rfl
 #align matrix.kronecker_map_reindex Matrix.kroneckerMap_reindex
 
-/- warning: matrix.kronecker_map_reindex_left -> Matrix.kroneckerMap_reindex_left is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {l' : Type.{u7}} {m' : Type.{u8}} {n' : Type.{u9}} (f : α -> β -> γ) (el : Equiv.{succ u4, succ u7} l l') (em : Equiv.{succ u5, succ u8} m m') (M : Matrix.{u4, u5, u1} l m α) (N : Matrix.{u6, u9, u2} n n' β), Eq.{succ (max (max u7 u6) (max u8 u9) u3)} (Matrix.{max u7 u6, max u8 u9, u3} (Prod.{u7, u6} l' n) (Prod.{u8, u9} m' n') γ) (Matrix.kroneckerMap.{u1, u2, u3, u7, u8, u6, u9} α β γ l' m' n n' f (coeFn.{max 1 (max (succ (max u4 u5 u1)) (succ (max u7 u8 u1))) (succ (max u7 u8 u1)) (succ (max u4 u5 u1)), max (succ (max u4 u5 u1)) (succ (max u7 u8 u1))} (Equiv.{succ (max u4 u5 u1), succ (max u7 u8 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u7, u8, u1} l' m' α)) (fun (_x : Equiv.{succ (max u4 u5 u1), succ (max u7 u8 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u7, u8, u1} l' m' α)) => (Matrix.{u4, u5, u1} l m α) -> (Matrix.{u7, u8, u1} l' m' α)) (Equiv.hasCoeToFun.{succ (max u4 u5 u1), succ (max u7 u8 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u7, u8, u1} l' m' α)) (Matrix.reindex.{u1, u7, u4, u5, u8} l' l m m' α el em) M) N) (coeFn.{max 1 (max (succ (max (max u4 u6) (max u5 u9) u3)) (succ (max (max u7 u6) (max u8 u9) u3))) (succ (max (max u7 u6) (max u8 u9) u3)) (succ (max (max u4 u6) (max u5 u9) u3)), max (succ (max (max u4 u6) (max u5 u9) u3)) (succ (max (max u7 u6) (max u8 u9) u3))} (Equiv.{succ (max (max u4 u6) (max u5 u9) u3), succ (max (max u7 u6) (max u8 u9) u3)} (Matrix.{max u4 u6, max u5 u9, u3} (Prod.{u4, u6} l n) (Prod.{u5, u9} m n') γ) (Matrix.{max u7 u6, max u8 u9, u3} (Prod.{u7, u6} l' n) (Prod.{u8, u9} m' n') γ)) (fun (_x : Equiv.{succ (max (max u4 u6) (max u5 u9) u3), succ (max (max u7 u6) (max u8 u9) u3)} (Matrix.{max u4 u6, max u5 u9, u3} (Prod.{u4, u6} l n) (Prod.{u5, u9} m n') γ) (Matrix.{max u7 u6, max u8 u9, u3} (Prod.{u7, u6} l' n) (Prod.{u8, u9} m' n') γ)) => (Matrix.{max u4 u6, max u5 u9, u3} (Prod.{u4, u6} l n) (Prod.{u5, u9} m n') γ) -> (Matrix.{max u7 u6, max u8 u9, u3} (Prod.{u7, u6} l' n) (Prod.{u8, u9} m' n') γ)) (Equiv.hasCoeToFun.{succ (max (max u4 u6) (max u5 u9) u3), succ (max (max u7 u6) (max u8 u9) u3)} (Matrix.{max u4 u6, max u5 u9, u3} (Prod.{u4, u6} l n) (Prod.{u5, u9} m n') γ) (Matrix.{max u7 u6, max u8 u9, u3} (Prod.{u7, u6} l' n) (Prod.{u8, u9} m' n') γ)) (Matrix.reindex.{u3, max u7 u6, max u4 u6, max u5 u9, max u8 u9} (Prod.{u7, u6} l' n) (Prod.{u4, u6} l n) (Prod.{u5, u9} m n') (Prod.{u8, u9} m' n') γ (Equiv.prodCongr.{u4, u6, u7, u6} l n l' n el (Equiv.refl.{succ u6} n)) (Equiv.prodCongr.{u5, u9, u8, u9} m n' m' n' em (Equiv.refl.{succ u9} n'))) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u9} α β γ l m n n' f M N))
-but is expected to have type
-  forall {α : Type.{u5}} {β : Type.{u2}} {γ : Type.{u1}} {l : Type.{u9}} {m : Type.{u7}} {n : Type.{u4}} {l' : Type.{u8}} {m' : Type.{u6}} {n' : Type.{u3}} (f : α -> β -> γ) (el : Equiv.{succ u9, succ u8} l l') (em : Equiv.{succ u7, succ u6} m m') (M : Matrix.{u9, u7, u5} l m α) (N : Matrix.{u4, u3, u2} n n' β), Eq.{max (max (max (max (succ u1) (succ u4)) (succ u8)) (succ u6)) (succ u3)} (Matrix.{max u4 u8, max u3 u6, u1} (Prod.{u8, u4} l' n) (Prod.{u6, u3} m' n') γ) (Matrix.kroneckerMap.{u5, u2, u1, u8, u6, u4, u3} α β γ l' m' n n' f (FunLike.coe.{max (max (max (max (succ u9) (succ u7)) (succ u8)) (succ u6)) (succ u5), max (max (succ u9) (succ u7)) (succ u5), max (max (succ u8) (succ u6)) (succ u5)} (Equiv.{max (max (succ u5) (succ u7)) (succ u9), max (max (succ u5) (succ u6)) (succ u8)} (Matrix.{u9, u7, u5} l m α) (Matrix.{u8, u6, u5} l' m' α)) (Matrix.{u9, u7, u5} l m α) (fun (_x : Matrix.{u9, u7, u5} l m α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u9, u7, u5} l m α) => Matrix.{u8, u6, u5} l' m' α) _x) (Equiv.instFunLikeEquiv.{max (max (succ u9) (succ u7)) (succ u5), max (max (succ u8) (succ u6)) (succ u5)} (Matrix.{u9, u7, u5} l m α) (Matrix.{u8, u6, u5} l' m' α)) (Matrix.reindex.{u5, u8, u9, u7, u6} l' l m m' α el em) M) N) (FunLike.coe.{max (max (max (max (max (max (succ u9) (succ u7)) (succ u8)) (succ u6)) (succ u1)) (succ u4)) (succ u3), max (max (max (max (succ u9) (succ u7)) (succ u1)) (succ u4)) (succ u3), max (max (max (max (succ u8) (succ u6)) (succ u1)) (succ u4)) (succ u3)} (Equiv.{max (max (succ u1) (succ (max u7 u3))) (succ (max u9 u4)), max (max (succ u1) (succ (max u6 u3))) (succ (max u8 u4))} (Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) (Matrix.{max u8 u4, max u6 u3, u1} (Prod.{u8, u4} l' n) (Prod.{u6, u3} m' n') γ)) (Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) (fun (_x : Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) => Matrix.{max u8 u4, max u6 u3, u1} (Prod.{u8, u4} l' n) (Prod.{u6, u3} m' n') γ) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u9) (succ u7)) (succ u1)) (succ u4)) (succ u3), max (max (max (max (succ u8) (succ u6)) (succ u1)) (succ u4)) (succ u3)} (Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) (Matrix.{max u8 u4, max u6 u3, u1} (Prod.{u8, u4} l' n) (Prod.{u6, u3} m' n') γ)) (Matrix.reindex.{u1, max u8 u4, max u9 u4, max u7 u3, max u6 u3} (Prod.{u8, u4} l' n) (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') (Prod.{u6, u3} m' n') γ (Equiv.prodCongr.{u9, u8, u4, u4} l l' n n el (Equiv.refl.{succ u4} n)) (Equiv.prodCongr.{u7, u6, u3, u3} m m' n' n' em (Equiv.refl.{succ u3} n'))) (Matrix.kroneckerMap.{u5, u2, u1, u9, u7, u4, u3} α β γ l m n n' f M N))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_reindex_left Matrix.kroneckerMap_reindex_leftₓ'. -/
 theorem kroneckerMap_reindex_left (f : α → β → γ) (el : l ≃ l') (em : m ≃ m') (M : Matrix l m α)
     (N : Matrix n n' β) :
     kroneckerMap f (Matrix.reindex el em M) N =
@@ -273,12 +177,6 @@ theorem kroneckerMap_reindex_left (f : α → β → γ) (el : l ≃ l') (em : m
   kroneckerMap_reindex _ _ _ (Equiv.refl _) (Equiv.refl _) _ _
 #align matrix.kronecker_map_reindex_left Matrix.kroneckerMap_reindex_left
 
-/- warning: matrix.kronecker_map_reindex_right -> Matrix.kroneckerMap_reindex_right is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {l' : Type.{u7}} {m' : Type.{u8}} {n' : Type.{u9}} (f : α -> β -> γ) (em : Equiv.{succ u5, succ u8} m m') (en : Equiv.{succ u6, succ u9} n n') (M : Matrix.{u4, u7, u1} l l' α) (N : Matrix.{u5, u6, u2} m n β), Eq.{succ (max (max u4 u8) (max u7 u9) u3)} (Matrix.{max u4 u8, max u7 u9, u3} (Prod.{u4, u8} l m') (Prod.{u7, u9} l' n') γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u7, u8, u9} α β γ l l' m' n' f M (coeFn.{max 1 (max (succ (max u5 u6 u2)) (succ (max u8 u9 u2))) (succ (max u8 u9 u2)) (succ (max u5 u6 u2)), max (succ (max u5 u6 u2)) (succ (max u8 u9 u2))} (Equiv.{succ (max u5 u6 u2), succ (max u8 u9 u2)} (Matrix.{u5, u6, u2} m n β) (Matrix.{u8, u9, u2} m' n' β)) (fun (_x : Equiv.{succ (max u5 u6 u2), succ (max u8 u9 u2)} (Matrix.{u5, u6, u2} m n β) (Matrix.{u8, u9, u2} m' n' β)) => (Matrix.{u5, u6, u2} m n β) -> (Matrix.{u8, u9, u2} m' n' β)) (Equiv.hasCoeToFun.{succ (max u5 u6 u2), succ (max u8 u9 u2)} (Matrix.{u5, u6, u2} m n β) (Matrix.{u8, u9, u2} m' n' β)) (Matrix.reindex.{u2, u8, u5, u6, u9} m' m n n' β em en) N)) (coeFn.{max 1 (max (succ (max (max u4 u5) (max u7 u6) u3)) (succ (max (max u4 u8) (max u7 u9) u3))) (succ (max (max u4 u8) (max u7 u9) u3)) (succ (max (max u4 u5) (max u7 u6) u3)), max (succ (max (max u4 u5) (max u7 u6) u3)) (succ (max (max u4 u8) (max u7 u9) u3))} (Equiv.{succ (max (max u4 u5) (max u7 u6) u3), succ (max (max u4 u8) (max u7 u9) u3)} (Matrix.{max u4 u5, max u7 u6, u3} (Prod.{u4, u5} l m) (Prod.{u7, u6} l' n) γ) (Matrix.{max u4 u8, max u7 u9, u3} (Prod.{u4, u8} l m') (Prod.{u7, u9} l' n') γ)) (fun (_x : Equiv.{succ (max (max u4 u5) (max u7 u6) u3), succ (max (max u4 u8) (max u7 u9) u3)} (Matrix.{max u4 u5, max u7 u6, u3} (Prod.{u4, u5} l m) (Prod.{u7, u6} l' n) γ) (Matrix.{max u4 u8, max u7 u9, u3} (Prod.{u4, u8} l m') (Prod.{u7, u9} l' n') γ)) => (Matrix.{max u4 u5, max u7 u6, u3} (Prod.{u4, u5} l m) (Prod.{u7, u6} l' n) γ) -> (Matrix.{max u4 u8, max u7 u9, u3} (Prod.{u4, u8} l m') (Prod.{u7, u9} l' n') γ)) (Equiv.hasCoeToFun.{succ (max (max u4 u5) (max u7 u6) u3), succ (max (max u4 u8) (max u7 u9) u3)} (Matrix.{max u4 u5, max u7 u6, u3} (Prod.{u4, u5} l m) (Prod.{u7, u6} l' n) γ) (Matrix.{max u4 u8, max u7 u9, u3} (Prod.{u4, u8} l m') (Prod.{u7, u9} l' n') γ)) (Matrix.reindex.{u3, max u4 u8, max u4 u5, max u7 u6, max u7 u9} (Prod.{u4, u8} l m') (Prod.{u4, u5} l m) (Prod.{u7, u6} l' n) (Prod.{u7, u9} l' n') γ (Equiv.prodCongr.{u4, u5, u4, u8} l m l m' (Equiv.refl.{succ u4} l) em) (Equiv.prodCongr.{u7, u6, u7, u9} l' n l' n' (Equiv.refl.{succ u7} l') en)) (Matrix.kroneckerMap.{u1, u2, u3, u4, u7, u5, u6} α β γ l l' m n f M N))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {l : Type.{u5}} {m : Type.{u9}} {n : Type.{u7}} {l' : Type.{u4}} {m' : Type.{u8}} {n' : Type.{u6}} (f : α -> β -> γ) (em : Equiv.{succ u9, succ u8} m m') (en : Equiv.{succ u7, succ u6} n n') (M : Matrix.{u5, u4, u3} l l' α) (N : Matrix.{u9, u7, u2} m n β), Eq.{max (max (max (max (succ u1) (succ u5)) (succ u4)) (succ u8)) (succ u6)} (Matrix.{max u8 u5, max u6 u4, u1} (Prod.{u5, u8} l m') (Prod.{u4, u6} l' n') γ) (Matrix.kroneckerMap.{u3, u2, u1, u5, u4, u8, u6} α β γ l l' m' n' f M (FunLike.coe.{max (max (max (max (succ u9) (succ u7)) (succ u8)) (succ u6)) (succ u2), max (max (succ u9) (succ u7)) (succ u2), max (max (succ u8) (succ u6)) (succ u2)} (Equiv.{max (max (succ u2) (succ u7)) (succ u9), max (max (succ u2) (succ u6)) (succ u8)} (Matrix.{u9, u7, u2} m n β) (Matrix.{u8, u6, u2} m' n' β)) (Matrix.{u9, u7, u2} m n β) (fun (_x : Matrix.{u9, u7, u2} m n β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u9, u7, u2} m n β) => Matrix.{u8, u6, u2} m' n' β) _x) (Equiv.instFunLikeEquiv.{max (max (succ u9) (succ u7)) (succ u2), max (max (succ u8) (succ u6)) (succ u2)} (Matrix.{u9, u7, u2} m n β) (Matrix.{u8, u6, u2} m' n' β)) (Matrix.reindex.{u2, u8, u9, u7, u6} m' m n n' β em en) N)) (FunLike.coe.{max (max (max (max (max (max (succ u9) (succ u7)) (succ u8)) (succ u6)) (succ u1)) (succ u5)) (succ u4), max (max (max (max (succ u9) (succ u7)) (succ u1)) (succ u5)) (succ u4), max (max (max (max (succ u8) (succ u6)) (succ u1)) (succ u5)) (succ u4)} (Equiv.{max (max (succ u1) (succ (max u7 u4))) (succ (max u9 u5)), max (max (succ u1) (succ (max u6 u4))) (succ (max u8 u5))} (Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) (Matrix.{max u8 u5, max u6 u4, u1} (Prod.{u5, u8} l m') (Prod.{u4, u6} l' n') γ)) (Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) (fun (_x : Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) => Matrix.{max u8 u5, max u6 u4, u1} (Prod.{u5, u8} l m') (Prod.{u4, u6} l' n') γ) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u9) (succ u7)) (succ u1)) (succ u5)) (succ u4), max (max (max (max (succ u8) (succ u6)) (succ u1)) (succ u5)) (succ u4)} (Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) (Matrix.{max u8 u5, max u6 u4, u1} (Prod.{u5, u8} l m') (Prod.{u4, u6} l' n') γ)) (Matrix.reindex.{u1, max u8 u5, max u9 u5, max u7 u4, max u6 u4} (Prod.{u5, u8} l m') (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) (Prod.{u4, u6} l' n') γ (Equiv.prodCongr.{u5, u5, u9, u8} l l m m' (Equiv.refl.{succ u5} l) em) (Equiv.prodCongr.{u4, u4, u7, u6} l' l' n n' (Equiv.refl.{succ u4} l') en)) (Matrix.kroneckerMap.{u3, u2, u1, u5, u4, u9, u7} α β γ l l' m n f M N))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_reindex_right Matrix.kroneckerMap_reindex_rightₓ'. -/
 theorem kroneckerMap_reindex_right (f : α → β → γ) (em : m ≃ m') (en : n ≃ n') (M : Matrix l l' α)
     (N : Matrix m n β) :
     kroneckerMap f M (reindex em en N) =
@@ -286,9 +184,6 @@ theorem kroneckerMap_reindex_right (f : α → β → γ) (em : m ≃ m') (en :
   kroneckerMap_reindex _ (Equiv.refl _) (Equiv.refl _) _ _ _ _
 #align matrix.kronecker_map_reindex_right Matrix.kroneckerMap_reindex_right
 
-/- warning: matrix.kronecker_map_assoc -> Matrix.kroneckerMap_assoc is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_assoc Matrix.kroneckerMap_assocₓ'. -/
 theorem kroneckerMap_assoc {δ ξ ω ω' : Type _} (f : α → β → γ) (g : γ → δ → ω) (f' : α → ξ → ω')
     (g' : β → δ → ξ) (A : Matrix l m α) (B : Matrix n p β) (D : Matrix q r δ) (φ : ω ≃ ω')
     (hφ : ∀ a b d, φ (g (f a b) d) = f' a (g' b d)) :
@@ -298,9 +193,6 @@ theorem kroneckerMap_assoc {δ ξ ω ω' : Type _} (f : α → β → γ) (g : 
   ext fun i j => hφ _ _ _
 #align matrix.kronecker_map_assoc Matrix.kroneckerMap_assoc
 
-/- warning: matrix.kronecker_map_assoc₁ -> Matrix.kroneckerMap_assoc₁ is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_assoc₁ Matrix.kroneckerMap_assoc₁ₓ'. -/
 theorem kroneckerMap_assoc₁ {δ ξ ω : Type _} (f : α → β → γ) (g : γ → δ → ω) (f' : α → ξ → ω)
     (g' : β → δ → ξ) (A : Matrix l m α) (B : Matrix n p β) (D : Matrix q r δ)
     (h : ∀ a b d, g (f a b) d = f' a (g' b d)) :
@@ -323,9 +215,6 @@ def kroneckerMapBilinear [CommSemiring R] [AddCommMonoid α] [AddCommMonoid β]
 #align matrix.kronecker_map_bilinear Matrix.kroneckerMapBilinear
 -/
 
-/- warning: matrix.kronecker_map_bilinear_mul_mul -> Matrix.kroneckerMapBilinear_mul_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_bilinear_mul_mul Matrix.kroneckerMapBilinear_mul_mulₓ'. -/
 /-- `matrix.kronecker_map_bilinear` commutes with `⬝` if `f` commutes with `*`.
 
 This is primarily used with `R = ℕ` to prove `matrix.mul_kronecker_mul`. -/
@@ -343,9 +232,6 @@ theorem kroneckerMapBilinear_mul_mul [CommSemiring R] [Fintype m] [Fintype m']
   simp_rw [f.map_sum, LinearMap.sum_apply, LinearMap.map_sum, h_comm]
 #align matrix.kronecker_map_bilinear_mul_mul Matrix.kroneckerMapBilinear_mul_mul
 
-/- warning: matrix.trace_kronecker_map_bilinear -> Matrix.trace_kroneckerMapBilinear is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.trace_kronecker_map_bilinear Matrix.trace_kroneckerMapBilinearₓ'. -/
 /-- `trace` distributes over `matrix.kronecker_map_bilinear`.
 
 This is primarily used with `R = ℕ` to prove `matrix.trace_kronecker`. -/
@@ -357,9 +243,6 @@ theorem trace_kroneckerMapBilinear [CommSemiring R] [Fintype m] [Fintype n] [Add
     map_sum, ← Finset.univ_product_univ, Finset.sum_product, kronecker_map_apply]
 #align matrix.trace_kronecker_map_bilinear Matrix.trace_kroneckerMapBilinear
 
-/- warning: matrix.det_kronecker_map_bilinear -> Matrix.det_kroneckerMapBilinear is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.det_kronecker_map_bilinear Matrix.det_kroneckerMapBilinearₓ'. -/
 /-- `determinant` of `matrix.kronecker_map_bilinear`.
 
 This is primarily used with `R = ℕ` to prove `matrix.det_kronecker`. -/
@@ -407,12 +290,6 @@ def kronecker [Mul α] : Matrix l m α → Matrix n p α → Matrix (l × n) (m
 -- mathport name: matrix.kronecker_map.mul
 scoped[Kronecker] infixl:100 " ⊗ₖ " => Matrix.kroneckerMap (· * ·)
 
-/- warning: matrix.kronecker_apply -> Matrix.kronecker_apply is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} {p : Type.{u5}} [_inst_1 : Mul.{u1} α] (A : Matrix.{u2, u3, u1} l m α) (B : Matrix.{u4, u5, u1} n p α) (i₁ : l) (i₂ : n) (j₁ : m) (j₂ : p), Eq.{succ u1} α (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α _inst_1)) A B (Prod.mk.{u2, u4} l n i₁ i₂) (Prod.mk.{u3, u5} m p j₁ j₂)) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α _inst_1) (A i₁ j₁) (B i₂ j₂))
-but is expected to have type
-  forall {α : Type.{u5}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : Mul.{u5} α] (A : Matrix.{u4, u3, u5} l m α) (B : Matrix.{u2, u1, u5} n p α) (i₁ : l) (i₂ : n) (j₁ : m) (j₂ : p), Eq.{succ u5} α (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3156 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3158 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α _inst_1) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3156 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3158) A B (Prod.mk.{u4, u2} l n i₁ i₂) (Prod.mk.{u3, u1} m p j₁ j₂)) (HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α _inst_1) (A i₁ j₁) (B i₂ j₂))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_apply Matrix.kronecker_applyₓ'. -/
 @[simp]
 theorem kronecker_apply [Mul α] (A : Matrix l m α) (B : Matrix n p α) (i₁ i₂ j₁ j₂) :
     (A ⊗ₖ B) (i₁, i₂) (j₁, j₂) = A i₁ j₁ * B i₂ j₂ :=
@@ -431,135 +308,63 @@ def kroneckerBilinear [CommSemiring R] [Semiring α] [Algebra R α] :
 hypotheses which can be filled by properties of `*`. -/
 
 
-/- warning: matrix.zero_kronecker -> Matrix.zero_kronecker is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} {p : Type.{u5}} [_inst_1 : MulZeroClass.{u1} α] (B : Matrix.{u4, u5, u1} n p α), Eq.{succ (max (max u2 u4) (max u3 u5) u1)} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1))) (OfNat.ofNat.{max u2 u3 u1} (Matrix.{u2, u3, u1} l m α) 0 (OfNat.mk.{max u2 u3 u1} (Matrix.{u2, u3, u1} l m α) 0 (Zero.zero.{max u2 u3 u1} (Matrix.{u2, u3, u1} l m α) (Matrix.hasZero.{u1, u2, u3} l m α (MulZeroClass.toHasZero.{u1} α _inst_1))))) B) (OfNat.ofNat.{max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) 0 (OfNat.mk.{max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) 0 (Zero.zero.{max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.hasZero.{u1, max u2 u4, max u3 u5} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α (MulZeroClass.toHasZero.{u1} α _inst_1)))))
-but is expected to have type
-  forall {α : Type.{u5}} {l : Type.{u2}} {m : Type.{u1}} {n : Type.{u4}} {p : Type.{u3}} [_inst_1 : MulZeroClass.{u5} α] (B : Matrix.{u4, u3, u5} n p α), Eq.{max (max (max (max (succ u5) (succ u2)) (succ u1)) (succ u4)) (succ u3)} (Matrix.{max u4 u2, max u3 u1, u5} (Prod.{u2, u4} l n) (Prod.{u1, u3} m p) α) (Matrix.kroneckerMap.{u5, u5, u5, u2, u1, u4, u3} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3297 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3299 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (MulZeroClass.toMul.{u5} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3297 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3299) (OfNat.ofNat.{max (max u5 u2) u1} (Matrix.{u2, u1, u5} l m α) 0 (Zero.toOfNat0.{max (max u5 u2) u1} (Matrix.{u2, u1, u5} l m α) (Matrix.zero.{u5, u2, u1} l m α (MulZeroClass.toZero.{u5} α _inst_1)))) B) (OfNat.ofNat.{max (max (max (max u5 u2) u1) u4) u3} (Matrix.{max u4 u2, max u3 u1, u5} (Prod.{u2, u4} l n) (Prod.{u1, u3} m p) α) 0 (Zero.toOfNat0.{max (max (max (max u5 u2) u1) u4) u3} (Matrix.{max u4 u2, max u3 u1, u5} (Prod.{u2, u4} l n) (Prod.{u1, u3} m p) α) (Matrix.zero.{u5, max u2 u4, max u1 u3} (Prod.{u2, u4} l n) (Prod.{u1, u3} m p) α (MulZeroClass.toZero.{u5} α _inst_1))))
-Case conversion may be inaccurate. Consider using '#align matrix.zero_kronecker Matrix.zero_kroneckerₓ'. -/
 @[simp]
 theorem zero_kronecker [MulZeroClass α] (B : Matrix n p α) : (0 : Matrix l m α) ⊗ₖ B = 0 :=
   kroneckerMap_zero_left _ MulZeroClass.zero_mul B
 #align matrix.zero_kronecker Matrix.zero_kronecker
 
-/- warning: matrix.kronecker_zero -> Matrix.kronecker_zero is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} {p : Type.{u5}} [_inst_1 : MulZeroClass.{u1} α] (A : Matrix.{u2, u3, u1} l m α), Eq.{succ (max (max u2 u4) (max u3 u5) u1)} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1))) A (OfNat.ofNat.{max u4 u5 u1} (Matrix.{u4, u5, u1} n p α) 0 (OfNat.mk.{max u4 u5 u1} (Matrix.{u4, u5, u1} n p α) 0 (Zero.zero.{max u4 u5 u1} (Matrix.{u4, u5, u1} n p α) (Matrix.hasZero.{u1, u4, u5} n p α (MulZeroClass.toHasZero.{u1} α _inst_1)))))) (OfNat.ofNat.{max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) 0 (OfNat.mk.{max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) 0 (Zero.zero.{max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.hasZero.{u1, max u2 u4, max u3 u5} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α (MulZeroClass.toHasZero.{u1} α _inst_1)))))
-but is expected to have type
-  forall {α : Type.{u5}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : MulZeroClass.{u5} α] (A : Matrix.{u4, u3, u5} l m α), Eq.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3357 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3359 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (MulZeroClass.toMul.{u5} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3357 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3359) A (OfNat.ofNat.{max (max u5 u2) u1} (Matrix.{u2, u1, u5} n p α) 0 (Zero.toOfNat0.{max (max u5 u2) u1} (Matrix.{u2, u1, u5} n p α) (Matrix.zero.{u5, u2, u1} n p α (MulZeroClass.toZero.{u5} α _inst_1))))) (OfNat.ofNat.{max (max (max (max u5 u4) u3) u2) u1} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) 0 (Zero.toOfNat0.{max (max (max (max u5 u4) u3) u2) u1} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.zero.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α (MulZeroClass.toZero.{u5} α _inst_1))))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_zero Matrix.kronecker_zeroₓ'. -/
 @[simp]
 theorem kronecker_zero [MulZeroClass α] (A : Matrix l m α) : A ⊗ₖ (0 : Matrix n p α) = 0 :=
   kroneckerMap_zero_right _ MulZeroClass.mul_zero A
 #align matrix.kronecker_zero Matrix.kronecker_zero
 
-/- warning: matrix.add_kronecker -> Matrix.add_kronecker is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} {p : Type.{u5}} [_inst_1 : Distrib.{u1} α] (A₁ : Matrix.{u2, u3, u1} l m α) (A₂ : Matrix.{u2, u3, u1} l m α) (B : Matrix.{u4, u5, u1} n p α), Eq.{succ (max (max u2 u4) (max u3 u5) u1)} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α _inst_1))) (HAdd.hAdd.{max u2 u3 u1, max u2 u3 u1, max u2 u3 u1} (Matrix.{u2, u3, u1} l m α) (Matrix.{u2, u3, u1} l m α) (Matrix.{u2, u3, u1} l m α) (instHAdd.{max u2 u3 u1} (Matrix.{u2, u3, u1} l m α) (Matrix.hasAdd.{u1, u2, u3} l m α (Distrib.toHasAdd.{u1} α _inst_1))) A₁ A₂) B) (HAdd.hAdd.{max (max u2 u4) (max u3 u5) u1, max (max u2 u4) (max u3 u5) u1, max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (instHAdd.{max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.hasAdd.{u1, max u2 u4, max u3 u5} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α (Distrib.toHasAdd.{u1} α _inst_1))) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α _inst_1))) A₁ B) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α _inst_1))) A₂ B))
-but is expected to have type
-  forall {α : Type.{u5}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : Distrib.{u5} α] (A₁ : Matrix.{u4, u3, u5} l m α) (A₂ : Matrix.{u4, u3, u5} l m α) (B : Matrix.{u2, u1, u5} n p α), Eq.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3425 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3427 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (Distrib.toMul.{u5} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3425 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3427) (HAdd.hAdd.{max (max u5 u4) u3, max (max u5 u4) u3, max (max u5 u4) u3} (Matrix.{u4, u3, u5} l m α) (Matrix.{u4, u3, u5} l m α) (Matrix.{u4, u3, u5} l m α) (instHAdd.{max (max u5 u4) u3} (Matrix.{u4, u3, u5} l m α) (Matrix.add.{u5, u4, u3} l m α (Distrib.toAdd.{u5} α _inst_1))) A₁ A₂) B) (HAdd.hAdd.{max (max (max (max u5 u4) u3) u2) u1, max (max (max (max u5 u4) u3) u2) u1, max (max (max (max u5 u4) u3) u2) u1} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (instHAdd.{max (max (max (max u5 u4) u3) u2) u1} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.add.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α (Distrib.toAdd.{u5} α _inst_1))) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3452 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3454 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (Distrib.toMul.{u5} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3452 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3454) A₁ B) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3472 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3474 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (Distrib.toMul.{u5} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3472 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3474) A₂ B))
-Case conversion may be inaccurate. Consider using '#align matrix.add_kronecker Matrix.add_kroneckerₓ'. -/
 theorem add_kronecker [Distrib α] (A₁ A₂ : Matrix l m α) (B : Matrix n p α) :
     (A₁ + A₂) ⊗ₖ B = A₁ ⊗ₖ B + A₂ ⊗ₖ B :=
   kroneckerMap_add_left _ add_mul _ _ _
 #align matrix.add_kronecker Matrix.add_kronecker
 
-/- warning: matrix.kronecker_add -> Matrix.kronecker_add is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} {p : Type.{u5}} [_inst_1 : Distrib.{u1} α] (A : Matrix.{u2, u3, u1} l m α) (B₁ : Matrix.{u4, u5, u1} n p α) (B₂ : Matrix.{u4, u5, u1} n p α), Eq.{succ (max (max u2 u4) (max u3 u5) u1)} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α _inst_1))) A (HAdd.hAdd.{max u4 u5 u1, max u4 u5 u1, max u4 u5 u1} (Matrix.{u4, u5, u1} n p α) (Matrix.{u4, u5, u1} n p α) (Matrix.{u4, u5, u1} n p α) (instHAdd.{max u4 u5 u1} (Matrix.{u4, u5, u1} n p α) (Matrix.hasAdd.{u1, u4, u5} n p α (Distrib.toHasAdd.{u1} α _inst_1))) B₁ B₂)) (HAdd.hAdd.{max (max u2 u4) (max u3 u5) u1, max (max u2 u4) (max u3 u5) u1, max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (instHAdd.{max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.hasAdd.{u1, max u2 u4, max u3 u5} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α (Distrib.toHasAdd.{u1} α _inst_1))) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α _inst_1))) A B₁) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α _inst_1))) A B₂))
-but is expected to have type
-  forall {α : Type.{u5}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : Distrib.{u5} α] (A : Matrix.{u4, u3, u5} l m α) (B₁ : Matrix.{u2, u1, u5} n p α) (B₂ : Matrix.{u2, u1, u5} n p α), Eq.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3535 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3537 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (Distrib.toMul.{u5} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3535 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3537) A (HAdd.hAdd.{max (max u5 u2) u1, max (max u5 u2) u1, max (max u5 u2) u1} (Matrix.{u2, u1, u5} n p α) (Matrix.{u2, u1, u5} n p α) (Matrix.{u2, u1, u5} n p α) (instHAdd.{max (max u5 u2) u1} (Matrix.{u2, u1, u5} n p α) (Matrix.add.{u5, u2, u1} n p α (Distrib.toAdd.{u5} α _inst_1))) B₁ B₂)) (HAdd.hAdd.{max (max (max (max u5 u4) u3) u2) u1, max (max (max (max u5 u4) u3) u2) u1, max (max (max (max u5 u4) u3) u2) u1} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (instHAdd.{max (max (max (max u5 u4) u3) u2) u1} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.add.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α (Distrib.toAdd.{u5} α _inst_1))) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3562 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3564 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (Distrib.toMul.{u5} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3562 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3564) A B₁) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3582 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3584 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (Distrib.toMul.{u5} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3582 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3584) A B₂))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_add Matrix.kronecker_addₓ'. -/
 theorem kronecker_add [Distrib α] (A : Matrix l m α) (B₁ B₂ : Matrix n p α) :
     A ⊗ₖ (B₁ + B₂) = A ⊗ₖ B₁ + A ⊗ₖ B₂ :=
   kroneckerMap_add_right _ mul_add _ _ _
 #align matrix.kronecker_add Matrix.kronecker_add
 
-/- warning: matrix.smul_kronecker -> Matrix.smul_kronecker is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} {p : Type.{u6}} [_inst_1 : Monoid.{u1} R] [_inst_2 : Monoid.{u2} α] [_inst_3 : MulAction.{u1, u2} R α _inst_1] [_inst_4 : IsScalarTower.{u1, u2, u2} R α α (MulAction.toHasSmul.{u1, u2} R α _inst_1 _inst_3) (Mul.toSMul.{u2} α (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α _inst_2))) (MulAction.toHasSmul.{u1, u2} R α _inst_1 _inst_3)] (r : R) (A : Matrix.{u3, u4, u2} l m α) (B : Matrix.{u5, u6, u2} n p α), Eq.{succ (max (max u3 u5) (max u4 u6) u2)} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) α) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α α l m n p (HMul.hMul.{u2, u2, u2} α α α (instHMul.{u2} α (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α _inst_2)))) (SMul.smul.{u1, max u3 u4 u2} R (Matrix.{u3, u4, u2} l m α) (Matrix.hasSmul.{u2, u3, u4, u1} l m R α (MulAction.toHasSmul.{u1, u2} R α _inst_1 _inst_3)) r A) B) (SMul.smul.{u1, max (max u3 u5) (max u4 u6) u2} R (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) α) (Matrix.hasSmul.{u2, max u3 u5, max u4 u6, u1} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) R α (MulAction.toHasSmul.{u1, u2} R α _inst_1 _inst_3)) r (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α α l m n p (HMul.hMul.{u2, u2, u2} α α α (instHMul.{u2} α (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α _inst_2)))) A B))
-but is expected to have type
-  forall {R : Type.{u6}} {α : Type.{u5}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : Monoid.{u6} R] [_inst_2 : Monoid.{u5} α] [_inst_3 : MulAction.{u6, u5} R α _inst_1] [_inst_4 : IsScalarTower.{u6, u5, u5} R α α (MulAction.toSMul.{u6, u5} R α _inst_1 _inst_3) (MulAction.toSMul.{u5, u5} α α _inst_2 (Monoid.toMulAction.{u5} α _inst_2)) (MulAction.toSMul.{u6, u5} R α _inst_1 _inst_3)] (r : R) (A : Matrix.{u4, u3, u5} l m α) (B : Matrix.{u2, u1, u5} n p α), Eq.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3654 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3656 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (MulOneClass.toMul.{u5} α (Monoid.toMulOneClass.{u5} α _inst_2))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3654 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3656) (HSMul.hSMul.{u6, max (max u5 u4) u3, max (max u5 u4) u3} R (Matrix.{u4, u3, u5} l m α) (Matrix.{u4, u3, u5} l m α) (instHSMul.{u6, max (max u5 u4) u3} R (Matrix.{u4, u3, u5} l m α) (Matrix.smul.{u5, u4, u3, u6} l m R α (MulAction.toSMul.{u6, u5} R α _inst_1 _inst_3))) r A) B) (HSMul.hSMul.{u6, max (max (max (max u1 u2) u3) u4) u5, max (max (max (max u5 u4) u3) u2) u1} R (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (instHSMul.{u6, max (max (max (max u5 u4) u3) u2) u1} R (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.smul.{u5, max u4 u2, max u3 u1, u6} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) R α (MulAction.toSMul.{u6, u5} R α _inst_1 _inst_3))) r (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3684 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3686 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (MulOneClass.toMul.{u5} α (Monoid.toMulOneClass.{u5} α _inst_2))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3684 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3686) A B))
-Case conversion may be inaccurate. Consider using '#align matrix.smul_kronecker Matrix.smul_kroneckerₓ'. -/
 theorem smul_kronecker [Monoid R] [Monoid α] [MulAction R α] [IsScalarTower R α α] (r : R)
     (A : Matrix l m α) (B : Matrix n p α) : (r • A) ⊗ₖ B = r • A ⊗ₖ B :=
   kroneckerMap_smul_left _ _ (fun _ _ => smul_mul_assoc _ _ _) _ _
 #align matrix.smul_kronecker Matrix.smul_kronecker
 
-/- warning: matrix.kronecker_smul -> Matrix.kronecker_smul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} {p : Type.{u6}} [_inst_1 : Monoid.{u1} R] [_inst_2 : Monoid.{u2} α] [_inst_3 : MulAction.{u1, u2} R α _inst_1] [_inst_4 : SMulCommClass.{u1, u2, u2} R α α (MulAction.toHasSmul.{u1, u2} R α _inst_1 _inst_3) (Mul.toSMul.{u2} α (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α _inst_2)))] (r : R) (A : Matrix.{u3, u4, u2} l m α) (B : Matrix.{u5, u6, u2} n p α), Eq.{succ (max (max u3 u5) (max u4 u6) u2)} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) α) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α α l m n p (HMul.hMul.{u2, u2, u2} α α α (instHMul.{u2} α (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α _inst_2)))) A (SMul.smul.{u1, max u5 u6 u2} R (Matrix.{u5, u6, u2} n p α) (Matrix.hasSmul.{u2, u5, u6, u1} n p R α (MulAction.toHasSmul.{u1, u2} R α _inst_1 _inst_3)) r B)) (SMul.smul.{u1, max (max u3 u5) (max u4 u6) u2} R (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) α) (Matrix.hasSmul.{u2, max u3 u5, max u4 u6, u1} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) R α (MulAction.toHasSmul.{u1, u2} R α _inst_1 _inst_3)) r (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α α l m n p (HMul.hMul.{u2, u2, u2} α α α (instHMul.{u2} α (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α _inst_2)))) A B))
-but is expected to have type
-  forall {R : Type.{u6}} {α : Type.{u5}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : Monoid.{u6} R] [_inst_2 : Monoid.{u5} α] [_inst_3 : MulAction.{u6, u5} R α _inst_1] [_inst_4 : SMulCommClass.{u6, u5, u5} R α α (MulAction.toSMul.{u6, u5} R α _inst_1 _inst_3) (MulAction.toSMul.{u5, u5} α α _inst_2 (Monoid.toMulAction.{u5} α _inst_2))] (r : R) (A : Matrix.{u4, u3, u5} l m α) (B : Matrix.{u2, u1, u5} n p α), Eq.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3767 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3769 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (MulOneClass.toMul.{u5} α (Monoid.toMulOneClass.{u5} α _inst_2))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3767 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3769) A (HSMul.hSMul.{u6, max (max u5 u2) u1, max (max u5 u2) u1} R (Matrix.{u2, u1, u5} n p α) (Matrix.{u2, u1, u5} n p α) (instHSMul.{u6, max (max u5 u2) u1} R (Matrix.{u2, u1, u5} n p α) (Matrix.smul.{u5, u2, u1, u6} n p R α (MulAction.toSMul.{u6, u5} R α _inst_1 _inst_3))) r B)) (HSMul.hSMul.{u6, max (max (max (max u1 u2) u3) u4) u5, max (max (max (max u5 u4) u3) u2) u1} R (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (instHSMul.{u6, max (max (max (max u5 u4) u3) u2) u1} R (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.smul.{u5, max u4 u2, max u3 u1, u6} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) R α (MulAction.toSMul.{u6, u5} R α _inst_1 _inst_3))) r (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3797 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3799 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (MulOneClass.toMul.{u5} α (Monoid.toMulOneClass.{u5} α _inst_2))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3797 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3799) A B))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_smul Matrix.kronecker_smulₓ'. -/
 theorem kronecker_smul [Monoid R] [Monoid α] [MulAction R α] [SMulCommClass R α α] (r : R)
     (A : Matrix l m α) (B : Matrix n p α) : A ⊗ₖ (r • B) = r • A ⊗ₖ B :=
   kroneckerMap_smul_right _ _ (fun _ _ => mul_smul_comm _ _ _) _ _
 #align matrix.kronecker_smul Matrix.kronecker_smul
 
-/- warning: matrix.diagonal_kronecker_diagonal -> Matrix.diagonal_kronecker_diagonal is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : Type.{u2}} {n : Type.{u3}} [_inst_1 : MulZeroClass.{u1} α] [_inst_2 : DecidableEq.{succ u2} m] [_inst_3 : DecidableEq.{succ u3} n] (a : m -> α) (b : n -> α), Eq.{succ (max (max u2 u3) u1)} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u2, u3} m n) (Prod.{u2, u3} m n) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u3} α α α m m n n (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1))) (Matrix.diagonal.{u1, u2} m α (fun (a : m) (b : m) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α _inst_1) a) (Matrix.diagonal.{u1, u3} n α (fun (a : n) (b : n) => _inst_3 a b) (MulZeroClass.toHasZero.{u1} α _inst_1) b)) (Matrix.diagonal.{u1, max u2 u3} (Prod.{u2, u3} m n) α (fun (a : Prod.{u2, u3} m n) (b : Prod.{u2, u3} m n) => Prod.Lex.decidableEq.{u2, u3} m n (fun (a : m) (b : m) => _inst_2 a b) (fun (a : n) (b : n) => _inst_3 a b) a b) (MulZeroClass.toHasZero.{u1} α _inst_1) (fun (mn : Prod.{u2, u3} m n) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1)) (a (Prod.fst.{u2, u3} m n mn)) (b (Prod.snd.{u2, u3} m n mn))))
-but is expected to have type
-  forall {α : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} [_inst_1 : MulZeroClass.{u3} α] [_inst_2 : DecidableEq.{succ u2} m] [_inst_3 : DecidableEq.{succ u1} n] (a : m -> α) (b : n -> α), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (Matrix.{max u1 u2, max u1 u2, u3} (Prod.{u2, u1} m n) (Prod.{u2, u1} m n) α) (Matrix.kroneckerMap.{u3, u3, u3, u2, u2, u1, u1} α α α m m n n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3871 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3873 : α) => HMul.hMul.{u3, u3, u3} α α α (instHMul.{u3} α (MulZeroClass.toMul.{u3} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3871 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3873) (Matrix.diagonal.{u3, u2} m α (fun (a : m) (b : m) => _inst_2 a b) (MulZeroClass.toZero.{u3} α _inst_1) a) (Matrix.diagonal.{u3, u1} n α (fun (a : n) (b : n) => _inst_3 a b) (MulZeroClass.toZero.{u3} α _inst_1) b)) (Matrix.diagonal.{u3, max u2 u1} (Prod.{u2, u1} m n) α (fun (a : Prod.{u2, u1} m n) (b : Prod.{u2, u1} m n) => instDecidableEqProd.{u2, u1} m n (fun (a : m) (b : m) => _inst_2 a b) (fun (a : n) (b : n) => _inst_3 a b) a b) (MulZeroClass.toZero.{u3} α _inst_1) (fun (mn : Prod.{u2, u1} m n) => HMul.hMul.{u3, u3, u3} α α α (instHMul.{u3} α (MulZeroClass.toMul.{u3} α _inst_1)) (a (Prod.fst.{u2, u1} m n mn)) (b (Prod.snd.{u2, u1} m n mn))))
-Case conversion may be inaccurate. Consider using '#align matrix.diagonal_kronecker_diagonal Matrix.diagonal_kronecker_diagonalₓ'. -/
 theorem diagonal_kronecker_diagonal [MulZeroClass α] [DecidableEq m] [DecidableEq n] (a : m → α)
     (b : n → α) : diagonal a ⊗ₖ diagonal b = diagonal fun mn => a mn.1 * b mn.2 :=
   kroneckerMap_diagonal_diagonal _ MulZeroClass.zero_mul MulZeroClass.mul_zero _ _
 #align matrix.diagonal_kronecker_diagonal Matrix.diagonal_kronecker_diagonal
 
-/- warning: matrix.kronecker_diagonal -> Matrix.kronecker_diagonal is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} [_inst_1 : MulZeroClass.{u1} α] [_inst_2 : DecidableEq.{succ u4} n] (A : Matrix.{u2, u3, u1} l m α) (b : n -> α), Eq.{succ (max (max u2 u4) (max u3 u4) u1)} (Matrix.{max u2 u4, max u3 u4, u1} (Prod.{u2, u4} l n) (Prod.{u3, u4} m n) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u4} α α α l m n n (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1))) A (Matrix.diagonal.{u1, u4} n α (fun (a : n) (b : n) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α _inst_1) b)) (Matrix.blockDiagonal.{u2, u3, u4, u1} l m n α (fun (a : n) (b : n) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α _inst_1) (fun (i : n) => SMul.smul.{u1, max u2 u3 u1} (MulOpposite.{u1} α) (Matrix.{u2, u3, u1} l m α) (Matrix.hasSmul.{u1, u2, u3, u1} l m (MulOpposite.{u1} α) α (Mul.toHasOppositeSMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1))) (MulOpposite.op.{u1} α (b i)) A))
-but is expected to have type
-  forall {α : Type.{u4}} {l : Type.{u2}} {m : Type.{u1}} {n : Type.{u3}} [_inst_1 : MulZeroClass.{u4} α] [_inst_2 : DecidableEq.{succ u3} n] (A : Matrix.{u2, u1, u4} l m α) (b : n -> α), Eq.{max (max (max (succ u4) (succ u2)) (succ u1)) (succ u3)} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} l n) (Prod.{u1, u3} m n) α) (Matrix.kroneckerMap.{u4, u4, u4, u2, u1, u3, u3} α α α l m n n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3951 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3953 : α) => HMul.hMul.{u4, u4, u4} α α α (instHMul.{u4} α (MulZeroClass.toMul.{u4} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3951 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3953) A (Matrix.diagonal.{u4, u3} n α (fun (a : n) (b : n) => _inst_2 a b) (MulZeroClass.toZero.{u4} α _inst_1) b)) (Matrix.blockDiagonal.{u2, u1, u3, u4} l m n α (fun (a : n) (b : n) => _inst_2 a b) (MulZeroClass.toZero.{u4} α _inst_1) (fun (i : n) => HSMul.hSMul.{u4, max (max u4 u2) u1, max (max u4 u2) u1} (MulOpposite.{u4} α) (Matrix.{u2, u1, u4} l m α) (Matrix.{u2, u1, u4} l m α) (instHSMul.{u4, max (max u4 u2) u1} (MulOpposite.{u4} α) (Matrix.{u2, u1, u4} l m α) (Matrix.smul.{u4, u2, u1, u4} l m (MulOpposite.{u4} α) α (Mul.toHasOppositeSMul.{u4} α (MulZeroClass.toMul.{u4} α _inst_1)))) (MulOpposite.op.{u4} α (b i)) A))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_diagonal Matrix.kronecker_diagonalₓ'. -/
 theorem kronecker_diagonal [MulZeroClass α] [DecidableEq n] (A : Matrix l m α) (b : n → α) :
     A ⊗ₖ diagonal b = blockDiagonal fun i => MulOpposite.op (b i) • A :=
   kroneckerMap_diagonal_right _ MulZeroClass.mul_zero _ _
 #align matrix.kronecker_diagonal Matrix.kronecker_diagonal
 
-/- warning: matrix.diagonal_kronecker -> Matrix.diagonal_kronecker is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} [_inst_1 : MulZeroClass.{u1} α] [_inst_2 : DecidableEq.{succ u2} l] (a : l -> α) (B : Matrix.{u3, u4, u1} m n α), Eq.{succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u4} α α α l l m n (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1))) (Matrix.diagonal.{u1, u2} l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α _inst_1) a) B) (coeFn.{max 1 (max (succ (max (max u3 u2) (max u4 u2) u1)) (succ (max (max u2 u3) (max u2 u4) u1))) (succ (max (max u2 u3) (max u2 u4) u1)) (succ (max (max u3 u2) (max u4 u2) u1)), max (succ (max (max u3 u2) (max u4 u2) u1)) (succ (max (max u2 u3) (max u2 u4) u1))} (Equiv.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (fun (_x : Equiv.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) => (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) -> (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (Equiv.hasCoeToFun.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (Matrix.reindex.{u1, max u2 u3, max u3 u2, max u4 u2, max u2 u4} (Prod.{u2, u3} l m) (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) (Prod.{u2, u4} l n) α (Equiv.prodComm.{u3, u2} m l) (Equiv.prodComm.{u4, u2} n l)) (Matrix.blockDiagonal.{u3, u4, u2, u1} m n l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α _inst_1) (fun (i : l) => SMul.smul.{u1, max u3 u4 u1} α (Matrix.{u3, u4, u1} m n α) (Matrix.hasSmul.{u1, u3, u4, u1} m n α α (Mul.toSMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1))) (a i) B)))
-but is expected to have type
-  forall {α : Type.{u4}} {l : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} [_inst_1 : MulZeroClass.{u4} α] [_inst_2 : DecidableEq.{succ u3} l] (a : l -> α) (B : Matrix.{u2, u1, u4} m n α), Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u3, max u1 u3, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α) (Matrix.kroneckerMap.{u4, u4, u4, u3, u3, u2, u1} α α α l l m n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4025 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4027 : α) => HMul.hMul.{u4, u4, u4} α α α (instHMul.{u4} α (MulZeroClass.toMul.{u4} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4025 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4027) (Matrix.diagonal.{u4, u3} l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toZero.{u4} α _inst_1) a) B) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1)} (Equiv.{max (max (succ u4) (succ (max u3 u1))) (succ (max u3 u2)), max (max (succ u4) (succ (max u3 u1))) (succ (max u3 u2))} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α)) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (fun (_x : Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) => Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1)} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α)) (Matrix.reindex.{u4, max u3 u2, max u3 u2, max u3 u1, max u3 u1} (Prod.{u3, u2} l m) (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) (Prod.{u3, u1} l n) α (Equiv.prodComm.{u2, u3} m l) (Equiv.prodComm.{u1, u3} n l)) (Matrix.blockDiagonal.{u2, u1, u3, u4} m n l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toZero.{u4} α _inst_1) (fun (i : l) => HSMul.hSMul.{u4, max (max u4 u2) u1, max (max u4 u2) u1} α (Matrix.{u2, u1, u4} m n α) (Matrix.{u2, u1, u4} m n α) (instHSMul.{u4, max (max u4 u2) u1} α (Matrix.{u2, u1, u4} m n α) (Matrix.smul.{u4, u2, u1, u4} m n α α (SMulZeroClass.toSMul.{u4, u4} α α (MulZeroClass.toZero.{u4} α _inst_1) (SMulWithZero.toSMulZeroClass.{u4, u4} α α (MulZeroClass.toZero.{u4} α _inst_1) (MulZeroClass.toZero.{u4} α _inst_1) (MulZeroClass.toSMulWithZero.{u4} α _inst_1))))) (a i) B)))
-Case conversion may be inaccurate. Consider using '#align matrix.diagonal_kronecker Matrix.diagonal_kroneckerₓ'. -/
 theorem diagonal_kronecker [MulZeroClass α] [DecidableEq l] (a : l → α) (B : Matrix m n α) :
     diagonal a ⊗ₖ B =
       Matrix.reindex (Equiv.prodComm _ _) (Equiv.prodComm _ _) (blockDiagonal fun i => a i • B) :=
   kroneckerMap_diagonal_left _ MulZeroClass.zero_mul _ _
 #align matrix.diagonal_kronecker Matrix.diagonal_kronecker
 
-/- warning: matrix.one_kronecker_one -> Matrix.one_kronecker_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : Type.{u2}} {n : Type.{u3}} [_inst_1 : MulZeroOneClass.{u1} α] [_inst_2 : DecidableEq.{succ u2} m] [_inst_3 : DecidableEq.{succ u3} n], Eq.{succ (max (max u2 u3) u1)} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u2, u3} m n) (Prod.{u2, u3} m n) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u3} α α α m m n n (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)))) (OfNat.ofNat.{max u2 u1} (Matrix.{u2, u2, u1} m m α) 1 (OfNat.mk.{max u2 u1} (Matrix.{u2, u2, u1} m m α) 1 (One.one.{max u2 u1} (Matrix.{u2, u2, u1} m m α) (Matrix.hasOne.{u1, u2} m α (fun (a : m) (b : m) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)) (MulOneClass.toHasOne.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α _inst_1)))))) (OfNat.ofNat.{max u3 u1} (Matrix.{u3, u3, u1} n n α) 1 (OfNat.mk.{max u3 u1} (Matrix.{u3, u3, u1} n n α) 1 (One.one.{max u3 u1} (Matrix.{u3, u3, u1} n n α) (Matrix.hasOne.{u1, u3} n α (fun (a : n) (b : n) => _inst_3 a b) (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)) (MulOneClass.toHasOne.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α _inst_1))))))) (OfNat.ofNat.{max (max u2 u3) u1} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u2, u3} m n) (Prod.{u2, u3} m n) α) 1 (OfNat.mk.{max (max u2 u3) u1} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u2, u3} m n) (Prod.{u2, u3} m n) α) 1 (One.one.{max (max u2 u3) u1} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u2, u3} m n) (Prod.{u2, u3} m n) α) (Matrix.hasOne.{u1, max u2 u3} (Prod.{u2, u3} m n) α (fun (a : Prod.{u2, u3} m n) (b : Prod.{u2, u3} m n) => Prod.Lex.decidableEq.{u2, u3} m n (fun (a : m) (b : m) => _inst_2 a b) (fun (a : n) (b : n) => _inst_3 a b) a b) (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)) (MulOneClass.toHasOne.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α _inst_1))))))
-but is expected to have type
-  forall {α : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} [_inst_1 : MulZeroOneClass.{u3} α] [_inst_2 : DecidableEq.{succ u2} m] [_inst_3 : DecidableEq.{succ u1} n], Eq.{max (max (succ u3) (succ u2)) (succ u1)} (Matrix.{max u1 u2, max u1 u2, u3} (Prod.{u2, u1} m n) (Prod.{u2, u1} m n) α) (Matrix.kroneckerMap.{u3, u3, u3, u2, u2, u1, u1} α α α m m n n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4106 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4108 : α) => HMul.hMul.{u3, u3, u3} α α α (instHMul.{u3} α (MulZeroClass.toMul.{u3} α (MulZeroOneClass.toMulZeroClass.{u3} α _inst_1))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4106 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4108) (OfNat.ofNat.{max u3 u2} (Matrix.{u2, u2, u3} m m α) 1 (One.toOfNat1.{max u3 u2} (Matrix.{u2, u2, u3} m m α) (Matrix.one.{u3, u2} m α (fun (a : m) (b : m) => _inst_2 a b) (MulZeroOneClass.toZero.{u3} α _inst_1) (MulOneClass.toOne.{u3} α (MulZeroOneClass.toMulOneClass.{u3} α _inst_1))))) (OfNat.ofNat.{max u3 u1} (Matrix.{u1, u1, u3} n n α) 1 (One.toOfNat1.{max u3 u1} (Matrix.{u1, u1, u3} n n α) (Matrix.one.{u3, u1} n α (fun (a : n) (b : n) => _inst_3 a b) (MulZeroOneClass.toZero.{u3} α _inst_1) (MulOneClass.toOne.{u3} α (MulZeroOneClass.toMulOneClass.{u3} α _inst_1)))))) (OfNat.ofNat.{max (max u3 u2) u1} (Matrix.{max u1 u2, max u1 u2, u3} (Prod.{u2, u1} m n) (Prod.{u2, u1} m n) α) 1 (One.toOfNat1.{max (max u3 u2) u1} (Matrix.{max u1 u2, max u1 u2, u3} (Prod.{u2, u1} m n) (Prod.{u2, u1} m n) α) (Matrix.one.{u3, max u2 u1} (Prod.{u2, u1} m n) α (fun (a : Prod.{u2, u1} m n) (b : Prod.{u2, u1} m n) => instDecidableEqProd.{u2, u1} m n (fun (a : m) (b : m) => _inst_2 a b) (fun (a : n) (b : n) => _inst_3 a b) a b) (MulZeroOneClass.toZero.{u3} α _inst_1) (MulOneClass.toOne.{u3} α (MulZeroOneClass.toMulOneClass.{u3} α _inst_1)))))
-Case conversion may be inaccurate. Consider using '#align matrix.one_kronecker_one Matrix.one_kronecker_oneₓ'. -/
 @[simp]
 theorem one_kronecker_one [MulZeroOneClass α] [DecidableEq m] [DecidableEq n] :
     (1 : Matrix m m α) ⊗ₖ (1 : Matrix n n α) = 1 :=
   kroneckerMap_one_one _ MulZeroClass.zero_mul MulZeroClass.mul_zero (one_mul _)
 #align matrix.one_kronecker_one Matrix.one_kronecker_one
 
-/- warning: matrix.kronecker_one -> Matrix.kronecker_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} [_inst_1 : MulZeroOneClass.{u1} α] [_inst_2 : DecidableEq.{succ u4} n] (A : Matrix.{u2, u3, u1} l m α), Eq.{succ (max (max u2 u4) (max u3 u4) u1)} (Matrix.{max u2 u4, max u3 u4, u1} (Prod.{u2, u4} l n) (Prod.{u3, u4} m n) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u4} α α α l m n n (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)))) A (OfNat.ofNat.{max u4 u1} (Matrix.{u4, u4, u1} n n α) 1 (OfNat.mk.{max u4 u1} (Matrix.{u4, u4, u1} n n α) 1 (One.one.{max u4 u1} (Matrix.{u4, u4, u1} n n α) (Matrix.hasOne.{u1, u4} n α (fun (a : n) (b : n) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)) (MulOneClass.toHasOne.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α _inst_1))))))) (Matrix.blockDiagonal.{u2, u3, u4, u1} l m n α (fun (a : n) (b : n) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)) (fun (i : n) => A))
-but is expected to have type
-  forall {α : Type.{u4}} {l : Type.{u2}} {m : Type.{u1}} {n : Type.{u3}} [_inst_1 : MulZeroOneClass.{u4} α] [_inst_2 : DecidableEq.{succ u3} n] (A : Matrix.{u2, u1, u4} l m α), Eq.{max (max (max (succ u4) (succ u2)) (succ u1)) (succ u3)} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} l n) (Prod.{u1, u3} m n) α) (Matrix.kroneckerMap.{u4, u4, u4, u2, u1, u3, u3} α α α l m n n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4179 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4181 : α) => HMul.hMul.{u4, u4, u4} α α α (instHMul.{u4} α (MulZeroClass.toMul.{u4} α (MulZeroOneClass.toMulZeroClass.{u4} α _inst_1))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4179 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4181) A (OfNat.ofNat.{max u4 u3} (Matrix.{u3, u3, u4} n n α) 1 (One.toOfNat1.{max u4 u3} (Matrix.{u3, u3, u4} n n α) (Matrix.one.{u4, u3} n α (fun (a : n) (b : n) => _inst_2 a b) (MulZeroOneClass.toZero.{u4} α _inst_1) (MulOneClass.toOne.{u4} α (MulZeroOneClass.toMulOneClass.{u4} α _inst_1)))))) (Matrix.blockDiagonal.{u2, u1, u3, u4} l m n α (fun (a : n) (b : n) => _inst_2 a b) (MulZeroOneClass.toZero.{u4} α _inst_1) (fun (i : n) => A))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_one Matrix.kronecker_oneₓ'. -/
 theorem kronecker_one [MulZeroOneClass α] [DecidableEq n] (A : Matrix l m α) :
     A ⊗ₖ (1 : Matrix n n α) = blockDiagonal fun i => A :=
   (kronecker_diagonal _ _).trans <| congr_arg _ <| funext fun _ => Matrix.ext fun _ _ => mul_one _
 #align matrix.kronecker_one Matrix.kronecker_one
 
-/- warning: matrix.one_kronecker -> Matrix.one_kronecker is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} [_inst_1 : MulZeroOneClass.{u1} α] [_inst_2 : DecidableEq.{succ u2} l] (B : Matrix.{u3, u4, u1} m n α), Eq.{succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u4} α α α l l m n (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)))) (OfNat.ofNat.{max u2 u1} (Matrix.{u2, u2, u1} l l α) 1 (OfNat.mk.{max u2 u1} (Matrix.{u2, u2, u1} l l α) 1 (One.one.{max u2 u1} (Matrix.{u2, u2, u1} l l α) (Matrix.hasOne.{u1, u2} l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)) (MulOneClass.toHasOne.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α _inst_1)))))) B) (coeFn.{max 1 (max (succ (max (max u3 u2) (max u4 u2) u1)) (succ (max (max u2 u3) (max u2 u4) u1))) (succ (max (max u2 u3) (max u2 u4) u1)) (succ (max (max u3 u2) (max u4 u2) u1)), max (succ (max (max u3 u2) (max u4 u2) u1)) (succ (max (max u2 u3) (max u2 u4) u1))} (Equiv.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (fun (_x : Equiv.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) => (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) -> (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (Equiv.hasCoeToFun.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (Matrix.reindex.{u1, max u2 u3, max u3 u2, max u4 u2, max u2 u4} (Prod.{u2, u3} l m) (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) (Prod.{u2, u4} l n) α (Equiv.prodComm.{u3, u2} m l) (Equiv.prodComm.{u4, u2} n l)) (Matrix.blockDiagonal.{u3, u4, u2, u1} m n l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)) (fun (i : l) => B)))
-but is expected to have type
-  forall {α : Type.{u4}} {l : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} [_inst_1 : MulZeroOneClass.{u4} α] [_inst_2 : DecidableEq.{succ u3} l] (B : Matrix.{u2, u1, u4} m n α), Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u3, max u1 u3, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α) (Matrix.kroneckerMap.{u4, u4, u4, u3, u3, u2, u1} α α α l l m n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4269 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4271 : α) => HMul.hMul.{u4, u4, u4} α α α (instHMul.{u4} α (MulZeroClass.toMul.{u4} α (MulZeroOneClass.toMulZeroClass.{u4} α _inst_1))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4269 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4271) (OfNat.ofNat.{max u4 u3} (Matrix.{u3, u3, u4} l l α) 1 (One.toOfNat1.{max u4 u3} (Matrix.{u3, u3, u4} l l α) (Matrix.one.{u4, u3} l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroOneClass.toZero.{u4} α _inst_1) (MulOneClass.toOne.{u4} α (MulZeroOneClass.toMulOneClass.{u4} α _inst_1))))) B) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1)} (Equiv.{max (max (succ u4) (succ (max u3 u1))) (succ (max u3 u2)), max (max (succ u4) (succ (max u3 u1))) (succ (max u3 u2))} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α)) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (fun (_x : Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) => Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1)} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α)) (Matrix.reindex.{u4, max u3 u2, max u3 u2, max u3 u1, max u3 u1} (Prod.{u3, u2} l m) (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) (Prod.{u3, u1} l n) α (Equiv.prodComm.{u2, u3} m l) (Equiv.prodComm.{u1, u3} n l)) (Matrix.blockDiagonal.{u2, u1, u3, u4} m n l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroOneClass.toZero.{u4} α _inst_1) (fun (i : l) => B)))
-Case conversion may be inaccurate. Consider using '#align matrix.one_kronecker Matrix.one_kroneckerₓ'. -/
 theorem one_kronecker [MulZeroOneClass α] [DecidableEq l] (B : Matrix m n α) :
     (1 : Matrix l l α) ⊗ₖ B =
       Matrix.reindex (Equiv.prodComm _ _) (Equiv.prodComm _ _) (blockDiagonal fun i => B) :=
@@ -567,44 +372,23 @@ theorem one_kronecker [MulZeroOneClass α] [DecidableEq l] (B : Matrix m n α) :
     congr_arg _ <| congr_arg _ <| funext fun _ => Matrix.ext fun _ _ => one_mul _
 #align matrix.one_kronecker Matrix.one_kronecker
 
-/- warning: matrix.mul_kronecker_mul -> Matrix.mul_kronecker_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.mul_kronecker_mul Matrix.mul_kronecker_mulₓ'. -/
 theorem mul_kronecker_mul [Fintype m] [Fintype m'] [CommSemiring α] (A : Matrix l m α)
     (B : Matrix m n α) (A' : Matrix l' m' α) (B' : Matrix m' n' α) :
     (A ⬝ B) ⊗ₖ (A' ⬝ B') = A ⊗ₖ A' ⬝ B ⊗ₖ B' :=
   kroneckerMapBilinear_mul_mul (Algebra.lmul ℕ α).toLinearMap mul_mul_mul_comm A B A' B'
 #align matrix.mul_kronecker_mul Matrix.mul_kronecker_mul
 
-/- warning: matrix.kronecker_assoc -> Matrix.kronecker_assoc is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} {p : Type.{u5}} {q : Type.{u6}} {r : Type.{u7}} [_inst_1 : Semigroup.{u1} α] (A : Matrix.{u2, u3, u1} l m α) (B : Matrix.{u4, u5, u1} n p α) (C : Matrix.{u6, u7, u1} q r α), Eq.{succ (max (max u2 u4 u6) (max u3 u5 u7) u1)} (Matrix.{max u2 u4 u6, max u3 u5 u7, u1} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α) (coeFn.{max 1 (max (succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1)) (succ (max (max u2 u4 u6) (max u3 u5 u7) u1))) (succ (max (max u2 u4 u6) (max u3 u5 u7) u1)) (succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1)), max (succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1)) (succ (max (max u2 u4 u6) (max u3 u5 u7) u1))} (Equiv.{succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1), succ (max (max u2 u4 u6) (max u3 u5 u7) u1)} (Matrix.{max (max u2 u4) u6, max (max u3 u5) u7, u1} (Prod.{max u2 u4, u6} (Prod.{u2, u4} l n) q) (Prod.{max u3 u5, u7} (Prod.{u3, u5} m p) r) α) (Matrix.{max u2 u4 u6, max u3 u5 u7, u1} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α)) (fun (_x : Equiv.{succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1), succ (max (max u2 u4 u6) (max u3 u5 u7) u1)} (Matrix.{max (max u2 u4) u6, max (max u3 u5) u7, u1} (Prod.{max u2 u4, u6} (Prod.{u2, u4} l n) q) (Prod.{max u3 u5, u7} (Prod.{u3, u5} m p) r) α) (Matrix.{max u2 u4 u6, max u3 u5 u7, u1} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α)) => (Matrix.{max (max u2 u4) u6, max (max u3 u5) u7, u1} (Prod.{max u2 u4, u6} (Prod.{u2, u4} l n) q) (Prod.{max u3 u5, u7} (Prod.{u3, u5} m p) r) α) -> (Matrix.{max u2 u4 u6, max u3 u5 u7, u1} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α)) (Equiv.hasCoeToFun.{succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1), succ (max (max u2 u4 u6) (max u3 u5 u7) u1)} (Matrix.{max (max u2 u4) u6, max (max u3 u5) u7, u1} (Prod.{max u2 u4, u6} (Prod.{u2, u4} l n) q) (Prod.{max u3 u5, u7} (Prod.{u3, u5} m p) r) α) (Matrix.{max u2 u4 u6, max u3 u5 u7, u1} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α)) (Matrix.reindex.{u1, max u2 u4 u6, max (max u2 u4) u6, max (max u3 u5) u7, max u3 u5 u7} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{max u2 u4, u6} (Prod.{u2, u4} l n) q) (Prod.{max u3 u5, u7} (Prod.{u3, u5} m p) r) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α (Equiv.prodAssoc.{u2, u4, u6} l n q) (Equiv.prodAssoc.{u3, u5, u7} m p r)) (Matrix.kroneckerMap.{u1, u1, u1, max u2 u4, max u3 u5, u6, u7} α α α (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) q r (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Semigroup.toHasMul.{u1} α _inst_1))) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Semigroup.toHasMul.{u1} α _inst_1))) A B) C)) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, max u4 u6, max u5 u7} α α α l m (Prod.{u4, u6} n q) (Prod.{u5, u7} p r) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Semigroup.toHasMul.{u1} α _inst_1))) A (Matrix.kroneckerMap.{u1, u1, u1, u4, u5, u6, u7} α α α n p q r (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Semigroup.toHasMul.{u1} α _inst_1))) B C))
-but is expected to have type
-  forall {α : Type.{u7}} {l : Type.{u6}} {m : Type.{u5}} {n : Type.{u4}} {p : Type.{u3}} {q : Type.{u2}} {r : Type.{u1}} [_inst_1 : Semigroup.{u7} α] (A : Matrix.{u6, u5, u7} l m α) (B : Matrix.{u4, u3, u7} n p α) (C : Matrix.{u2, u1, u7} q r α), Eq.{max (max (max (max (max (max (succ u7) (succ u6)) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) => Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α) (Matrix.kroneckerMap.{u7, u7, u7, max u6 u4, max u5 u3, u2, u1} α α α (Prod.{u6, u4} l n) (Prod.{u5, u3} m p) q r (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4536 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4538 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4536 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4538) (Matrix.kroneckerMap.{u7, u7, u7, u6, u5, u4, u3} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4555 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4557 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4555 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4557) A B) C)) (FunLike.coe.{max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7), max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7), max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7)} (Equiv.{max (max (succ u7) (succ (max (max u5 u3) u1))) (succ (max (max u6 u4) u2)), max (max (succ u7) (succ (max (max u5 u3) u1))) (succ (max (max u6 u4) u2))} (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α)) (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) (fun (_x : Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) => Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7), max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7)} (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α)) (Matrix.reindex.{u7, max (max u6 u4) u2, max (max u6 u4) u2, max (max u5 u3) u1, max (max u5 u3) u1} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α (Equiv.prodAssoc.{u6, u4, u2} l n q) (Equiv.prodAssoc.{u5, u3, u1} m p r)) (Matrix.kroneckerMap.{u7, u7, u7, max u6 u4, max u5 u3, u2, u1} α α α (Prod.{u6, u4} l n) (Prod.{u5, u3} m p) q r (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4536 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4538 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4536 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4538) (Matrix.kroneckerMap.{u7, u7, u7, u6, u5, u4, u3} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4555 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4557 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4555 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4557) A B) C)) (Matrix.kroneckerMap.{u7, u7, u7, u6, u5, max u2 u4, max u1 u3} α α α l m (Prod.{u4, u2} n q) (Prod.{u3, u1} p r) (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4576 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4578 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4576 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4578) A (Matrix.kroneckerMap.{u7, u7, u7, u4, u3, u2, u1} α α α n p q r (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4598 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4600 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4598 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4600) B C))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_assoc Matrix.kronecker_assocₓ'. -/
 @[simp]
 theorem kronecker_assoc [Semigroup α] (A : Matrix l m α) (B : Matrix n p α) (C : Matrix q r α) :
     reindex (Equiv.prodAssoc l n q) (Equiv.prodAssoc m p r) (A ⊗ₖ B ⊗ₖ C) = A ⊗ₖ (B ⊗ₖ C) :=
   kroneckerMap_assoc₁ _ _ _ _ A B C mul_assoc
 #align matrix.kronecker_assoc Matrix.kronecker_assoc
 
-/- warning: matrix.trace_kronecker -> Matrix.trace_kronecker is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {m : Type.{u2}} {n : Type.{u3}} [_inst_1 : Fintype.{u2} m] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u1} α] (A : Matrix.{u2, u2, u1} m m α) (B : Matrix.{u3, u3, u1} n n α), Eq.{succ u1} α (Matrix.trace.{max u2 u3, u1} (Prod.{u2, u3} m n) α (Prod.fintype.{u2, u3} m n _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3))) (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u3} α α α m m n n (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3)))))) A B)) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3))))) (Matrix.trace.{u2, u1} m α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3))) A) (Matrix.trace.{u3, u1} n α _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3))) B))
-but is expected to have type
-  forall {α : Type.{u1}} {m : Type.{u3}} {n : Type.{u2}} [_inst_1 : Fintype.{u3} m] [_inst_2 : Fintype.{u2} n] [_inst_3 : Semiring.{u1} α] (A : Matrix.{u3, u3, u1} m m α) (B : Matrix.{u2, u2, u1} n n α), Eq.{succ u1} α (Matrix.trace.{max u2 u3, u1} (Prod.{u3, u2} m n) α (instFintypeProd.{u3, u2} m n _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3))) (Matrix.kroneckerMap.{u1, u1, u1, u3, u3, u2, u2} α α α m m n n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4817 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4819 : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3)))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4817 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4819) A B)) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3)))) (Matrix.trace.{u3, u1} m α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3))) A) (Matrix.trace.{u2, u1} n α _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3))) B))
-Case conversion may be inaccurate. Consider using '#align matrix.trace_kronecker Matrix.trace_kroneckerₓ'. -/
 theorem trace_kronecker [Fintype m] [Fintype n] [Semiring α] (A : Matrix m m α) (B : Matrix n n α) :
     trace (A ⊗ₖ B) = trace A * trace B :=
   trace_kroneckerMapBilinear (Algebra.lmul ℕ α).toLinearMap _ _
 #align matrix.trace_kronecker Matrix.trace_kronecker
 
-/- warning: matrix.det_kronecker -> Matrix.det_kronecker is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {m : Type.{u2}} {n : Type.{u3}} [_inst_1 : Fintype.{u2} m] [_inst_2 : Fintype.{u3} n] [_inst_3 : DecidableEq.{succ u2} m] [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : CommRing.{u1} R] (A : Matrix.{u2, u2, u1} m m R) (B : Matrix.{u3, u3, u1} n n R), Eq.{succ u1} R (Matrix.det.{u1, max u2 u3} (Prod.{u2, u3} m n) (fun (a : Prod.{u2, u3} m n) (b : Prod.{u2, u3} m n) => Prod.Lex.decidableEq.{u2, u3} m n (fun (a : m) (b : m) => _inst_3 a b) (fun (a : n) (b : n) => _inst_4 a b) a b) (Prod.fintype.{u2, u3} m n _inst_1 _inst_2) R _inst_5 (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u3} R R R m m n n (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_5))))) A B)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_5)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_5)))) (Matrix.det.{u1, u2} m (fun (a : m) (b : m) => _inst_3 a b) _inst_1 R _inst_5 A) (Fintype.card.{u3} n _inst_2)) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_5)))) (Matrix.det.{u1, u3} n (fun (a : n) (b : n) => _inst_4 a b) _inst_2 R _inst_5 B) (Fintype.card.{u2} m _inst_1)))
-but is expected to have type
-  forall {R : Type.{u1}} {m : Type.{u3}} {n : Type.{u2}} [_inst_1 : Fintype.{u3} m] [_inst_2 : Fintype.{u2} n] [_inst_3 : DecidableEq.{succ u3} m] [_inst_4 : DecidableEq.{succ u2} n] [_inst_5 : CommRing.{u1} R] (A : Matrix.{u3, u3, u1} m m R) (B : Matrix.{u2, u2, u1} n n R), Eq.{succ u1} R (Matrix.det.{u1, max u2 u3} (Prod.{u3, u2} m n) (fun (a : Prod.{u3, u2} m n) (b : Prod.{u3, u2} m n) => instDecidableEqProd.{u3, u2} m n (fun (a : m) (b : m) => _inst_3 a b) (fun (a : n) (b : n) => _inst_4 a b) a b) (instFintypeProd.{u3, u2} m n _inst_1 _inst_2) R _inst_5 (Matrix.kroneckerMap.{u1, u1, u1, u3, u3, u2, u2} R R R m m n n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4902 : R) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4904 : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_5))))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4902 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4904) A B)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_5))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_5)))))) (Matrix.det.{u1, u3} m (fun (a : m) (b : m) => _inst_3 a b) _inst_1 R _inst_5 A) (Fintype.card.{u2} n _inst_2)) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_5)))))) (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_4 a b) _inst_2 R _inst_5 B) (Fintype.card.{u3} m _inst_1)))
-Case conversion may be inaccurate. Consider using '#align matrix.det_kronecker Matrix.det_kroneckerₓ'. -/
 theorem det_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [CommRing R]
     (A : Matrix m m R) (B : Matrix n n R) :
     det (A ⊗ₖ B) = det A ^ Fintype.card n * det B ^ Fintype.card m :=
@@ -615,12 +399,6 @@ theorem det_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [C
   · ext (i j); exact one_mul _
 #align matrix.det_kronecker Matrix.det_kronecker
 
-/- warning: matrix.inv_kronecker -> Matrix.inv_kronecker is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {m : Type.{u2}} {n : Type.{u3}} [_inst_1 : Fintype.{u2} m] [_inst_2 : Fintype.{u3} n] [_inst_3 : DecidableEq.{succ u2} m] [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : CommRing.{u1} R] (A : Matrix.{u2, u2, u1} m m R) (B : Matrix.{u3, u3, u1} n n R), Eq.{succ (max (max u2 u3) u1)} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u2, u3} m n) (Prod.{u2, u3} m n) R) (Inv.inv.{max (max u2 u3) u1} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u2, u3} m n) (Prod.{u2, u3} m n) R) (Matrix.hasInv.{max u2 u3, u1} (Prod.{u2, u3} m n) R (Prod.fintype.{u2, u3} m n _inst_1 _inst_2) (fun (a : Prod.{u2, u3} m n) (b : Prod.{u2, u3} m n) => Prod.Lex.decidableEq.{u2, u3} m n (fun (a : m) (b : m) => _inst_3 a b) (fun (a : n) (b : n) => _inst_4 a b) a b) _inst_5) (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u3} R R R m m n n (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_5))))) A B)) (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u3} R R R m m n n (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_5))))) (Inv.inv.{max u2 u1} (Matrix.{u2, u2, u1} m m R) (Matrix.hasInv.{u2, u1} m R _inst_1 (fun (a : m) (b : m) => _inst_3 a b) _inst_5) A) (Inv.inv.{max u3 u1} (Matrix.{u3, u3, u1} n n R) (Matrix.hasInv.{u3, u1} n R _inst_2 (fun (a : n) (b : n) => _inst_4 a b) _inst_5) B))
-but is expected to have type
-  forall {R : Type.{u1}} {m : Type.{u3}} {n : Type.{u2}} [_inst_1 : Fintype.{u3} m] [_inst_2 : Fintype.{u2} n] [_inst_3 : DecidableEq.{succ u3} m] [_inst_4 : DecidableEq.{succ u2} n] [_inst_5 : CommRing.{u1} R] (A : Matrix.{u3, u3, u1} m m R) (B : Matrix.{u2, u2, u1} n n R), Eq.{max (max (succ u1) (succ u3)) (succ u2)} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u3, u2} m n) (Prod.{u3, u2} m n) R) (Inv.inv.{max (max u2 u3) u1} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u3, u2} m n) (Prod.{u3, u2} m n) R) (Matrix.inv.{max u3 u2, u1} (Prod.{u3, u2} m n) R (instFintypeProd.{u3, u2} m n _inst_1 _inst_2) (fun (a : Prod.{u3, u2} m n) (b : Prod.{u3, u2} m n) => instDecidableEqProd.{u3, u2} m n (fun (a : m) (b : m) => _inst_3 a b) (fun (a : n) (b : n) => _inst_4 a b) a b) _inst_5) (Matrix.kroneckerMap.{u1, u1, u1, u3, u3, u2, u2} R R R m m n n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.5021 : R) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.5023 : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_5))))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.5021 x._@.Mathlib.Data.Matrix.Kronecker._hyg.5023) A B)) (Matrix.kroneckerMap.{u1, u1, u1, u3, u3, u2, u2} R R R m m n n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.5041 : R) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.5043 : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_5))))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.5041 x._@.Mathlib.Data.Matrix.Kronecker._hyg.5043) (Inv.inv.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.inv.{u3, u1} m R _inst_1 (fun (a : m) (b : m) => _inst_3 a b) _inst_5) A) (Inv.inv.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.inv.{u2, u1} n R _inst_2 (fun (a : n) (b : n) => _inst_4 a b) _inst_5) B))
-Case conversion may be inaccurate. Consider using '#align matrix.inv_kronecker Matrix.inv_kroneckerₓ'. -/
 theorem inv_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [CommRing R]
     (A : Matrix m m R) (B : Matrix n n R) : (A ⊗ₖ B)⁻¹ = A⁻¹ ⊗ₖ B⁻¹ :=
   by
@@ -684,18 +462,12 @@ scoped[Kronecker] infixl:100 " ⊗ₖₜ " => Matrix.kroneckerMap (· ⊗ₜ ·)
 scoped[Kronecker]
   notation:100 x " ⊗ₖₜ[" R "] " y:100 => Matrix.kroneckerMap (TensorProduct.tmul R) x y
 
-/- warning: matrix.kronecker_tmul_apply -> Matrix.kroneckerTMul_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_apply Matrix.kroneckerTMul_applyₓ'. -/
 @[simp]
 theorem kroneckerTMul_apply (A : Matrix l m α) (B : Matrix n p β) (i₁ i₂ j₁ j₂) :
     (A ⊗ₖₜ B) (i₁, i₂) (j₁, j₂) = A i₁ j₁ ⊗ₜ[R] B i₂ j₂ :=
   rfl
 #align matrix.kronecker_tmul_apply Matrix.kroneckerTMul_apply
 
-/- warning: matrix.kronecker_tmul_bilinear -> Matrix.kroneckerTMulBilinear is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_bilinear Matrix.kroneckerTMulBilinearₓ'. -/
 /-- `matrix.kronecker` as a bilinear map. -/
 def kroneckerTMulBilinear :
     Matrix l m α →ₗ[R] Matrix n p β →ₗ[R] Matrix (l × n) (m × p) (α ⊗[R] β) :=
@@ -706,88 +478,46 @@ def kroneckerTMulBilinear :
 hypotheses which can be filled by properties of `⊗ₜ`. -/
 
 
-/- warning: matrix.zero_kronecker_tmul -> Matrix.zero_kroneckerTMul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.zero_kronecker_tmul Matrix.zero_kroneckerTMulₓ'. -/
 @[simp]
 theorem zero_kroneckerTMul (B : Matrix n p β) : (0 : Matrix l m α) ⊗ₖₜ[R] B = 0 :=
   kroneckerMap_zero_left _ (zero_tmul α) B
 #align matrix.zero_kronecker_tmul Matrix.zero_kroneckerTMul
 
-/- warning: matrix.kronecker_tmul_zero -> Matrix.kroneckerTMul_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_zero Matrix.kroneckerTMul_zeroₓ'. -/
 @[simp]
 theorem kroneckerTMul_zero (A : Matrix l m α) : A ⊗ₖₜ[R] (0 : Matrix n p β) = 0 :=
   kroneckerMap_zero_right _ (tmul_zero β) A
 #align matrix.kronecker_tmul_zero Matrix.kroneckerTMul_zero
 
-/- warning: matrix.add_kronecker_tmul -> Matrix.add_kroneckerTMul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.add_kronecker_tmul Matrix.add_kroneckerTMulₓ'. -/
 theorem add_kroneckerTMul (A₁ A₂ : Matrix l m α) (B : Matrix n p α) :
     (A₁ + A₂) ⊗ₖₜ[R] B = A₁ ⊗ₖₜ B + A₂ ⊗ₖₜ B :=
   kroneckerMap_add_left _ add_tmul _ _ _
 #align matrix.add_kronecker_tmul Matrix.add_kroneckerTMul
 
-/- warning: matrix.kronecker_tmul_add -> Matrix.kroneckerTMul_add is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_add Matrix.kroneckerTMul_addₓ'. -/
 theorem kroneckerTMul_add (A : Matrix l m α) (B₁ B₂ : Matrix n p α) :
     A ⊗ₖₜ[R] (B₁ + B₂) = A ⊗ₖₜ B₁ + A ⊗ₖₜ B₂ :=
   kroneckerMap_add_right _ tmul_add _ _ _
 #align matrix.kronecker_tmul_add Matrix.kroneckerTMul_add
 
-/- warning: matrix.smul_kronecker_tmul -> Matrix.smul_kroneckerTMul is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} {p : Type.{u6}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (r : R) (A : Matrix.{u3, u4, u2} l m α) (B : Matrix.{u5, u6, u2} n p α), Eq.{succ (max (max u3 u5) (max u4 u6) u2)} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (SMul.smul.{u1, max u3 u4 u2} R (Matrix.{u3, u4, u2} l m α) (Matrix.hasSmul.{u2, u3, u4, u1} l m R α (SMulZeroClass.toHasSmul.{u1, u2} R α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R α (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R α (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) (Module.toMulActionWithZero.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_5))))) r A) B) (SMul.smul.{u1, max (max u3 u5) (max u4 u6) u2} R (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.hasSmul.{u2, max u3 u5, max u4 u6, u1} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) R (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.hasSmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) r (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A B))
-but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u4}} {l : Type.{u6}} {m : Type.{u5}} {n : Type.{u3}} {p : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u4} α] [_inst_5 : Module.{u1, u4} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (r : R) (A : Matrix.{u6, u5, u4} l m α) (B : Matrix.{u3, u2, u4} n p α), Eq.{max (max (max (max (succ u4) (succ u6)) (succ u5)) (succ u3)) (succ u2)} (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (HSMul.hSMul.{u1, max (max u4 u6) u5, max (max u4 u6) u5} R (Matrix.{u6, u5, u4} l m α) (Matrix.{u6, u5, u4} l m α) (instHSMul.{u1, max (max u4 u6) u5} R (Matrix.{u6, u5, u4} l m α) (Matrix.smul.{u4, u6, u5, u1} l m R α (SMulZeroClass.toSMul.{u1, u4} R α (AddMonoid.toZero.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u4} R α (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u4} R α (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2)) (Module.toMulActionWithZero.{u1, u4} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_5)))))) r A) B) (HSMul.hSMul.{u1, max (max (max (max u2 u3) u5) u6) u4, max (max (max (max u4 u6) u5) u3) u2} R (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (instHSMul.{u1, max (max (max (max u4 u6) u5) u3) u2} R (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.smul.{u4, max u6 u3, max u5 u2, u1} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) R (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.instSMulTensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) r (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A B))
-Case conversion may be inaccurate. Consider using '#align matrix.smul_kronecker_tmul Matrix.smul_kroneckerTMulₓ'. -/
 theorem smul_kroneckerTMul (r : R) (A : Matrix l m α) (B : Matrix n p α) :
     (r • A) ⊗ₖₜ[R] B = r • A ⊗ₖₜ B :=
   kroneckerMap_smul_left _ _ (fun _ _ => smul_tmul' _ _ _) _ _
 #align matrix.smul_kronecker_tmul Matrix.smul_kroneckerTMul
 
-/- warning: matrix.kronecker_tmul_smul -> Matrix.kroneckerTMul_smul is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} {p : Type.{u6}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (r : R) (A : Matrix.{u3, u4, u2} l m α) (B : Matrix.{u5, u6, u2} n p α), Eq.{succ (max (max u3 u5) (max u4 u6) u2)} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) A (SMul.smul.{u1, max u5 u6 u2} R (Matrix.{u5, u6, u2} n p α) (Matrix.hasSmul.{u2, u5, u6, u1} n p R α (SMulZeroClass.toHasSmul.{u1, u2} R α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R α (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R α (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) (Module.toMulActionWithZero.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_5))))) r B)) (SMul.smul.{u1, max (max u3 u5) (max u4 u6) u2} R (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.hasSmul.{u2, max u3 u5, max u4 u6, u1} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) R (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.hasSmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) r (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A B))
-but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u4}} {l : Type.{u6}} {m : Type.{u5}} {n : Type.{u3}} {p : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u4} α] [_inst_5 : Module.{u1, u4} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (r : R) (A : Matrix.{u6, u5, u4} l m α) (B : Matrix.{u3, u2, u4} n p α), Eq.{max (max (max (max (succ u4) (succ u6)) (succ u5)) (succ u3)) (succ u2)} (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) A (HSMul.hSMul.{u1, max (max u4 u3) u2, max (max u4 u3) u2} R (Matrix.{u3, u2, u4} n p α) (Matrix.{u3, u2, u4} n p α) (instHSMul.{u1, max (max u4 u3) u2} R (Matrix.{u3, u2, u4} n p α) (Matrix.smul.{u4, u3, u2, u1} n p R α (SMulZeroClass.toSMul.{u1, u4} R α (AddMonoid.toZero.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u4} R α (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u4} R α (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2)) (Module.toMulActionWithZero.{u1, u4} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_5)))))) r B)) (HSMul.hSMul.{u1, max (max (max (max u2 u3) u5) u6) u4, max (max (max (max u4 u6) u5) u3) u2} R (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (instHSMul.{u1, max (max (max (max u4 u6) u5) u3) u2} R (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.smul.{u4, max u6 u3, max u5 u2, u1} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) R (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.instSMulTensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) r (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A B))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_smul Matrix.kroneckerTMul_smulₓ'. -/
 theorem kroneckerTMul_smul (r : R) (A : Matrix l m α) (B : Matrix n p α) :
     A ⊗ₖₜ[R] (r • B) = r • A ⊗ₖₜ B :=
   kroneckerMap_smul_right _ _ (fun _ _ => tmul_smul _ _ _) _ _
 #align matrix.kronecker_tmul_smul Matrix.kroneckerTMul_smul
 
-/- warning: matrix.diagonal_kronecker_tmul_diagonal -> Matrix.diagonal_kroneckerTMul_diagonal is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {α : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_8 : DecidableEq.{succ u3} m] [_inst_9 : DecidableEq.{succ u4} n] (a : m -> α) (b : n -> α), Eq.{succ (max (max u3 u4) u2)} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u3, u4} m n) (Prod.{u3, u4} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u3, u3, u4, u4} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) m m n n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Matrix.diagonal.{u2, u3} m α (fun (a : m) (b : m) => _inst_8 a b) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) a) (Matrix.diagonal.{u2, u4} n α (fun (a : n) (b : n) => _inst_9 a b) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) b)) (Matrix.diagonal.{u2, max u3 u4} (Prod.{u3, u4} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (fun (a : Prod.{u3, u4} m n) (b : Prod.{u3, u4} m n) => Prod.Lex.decidableEq.{u3, u4} m n (fun (a : m) (b : m) => _inst_8 a b) (fun (a : n) (b : n) => _inst_9 a b) a b) (AddZeroClass.toHasZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addZeroClass.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (fun (mn : Prod.{u3, u4} m n) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 (a (Prod.fst.{u3, u4} m n mn)) (b (Prod.snd.{u3, u4} m n mn))))
-but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u2}} {m : Type.{u4}} {n : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_8 : DecidableEq.{succ u4} m] [_inst_9 : DecidableEq.{succ u3} n] (a : m -> α) (b : n -> α), Eq.{max (max (succ u2) (succ u4)) (succ u3)} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u4, u3} m n) (Prod.{u4, u3} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u4, u4, u3, u3} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) m m n n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Matrix.diagonal.{u2, u4} m α (fun (a : m) (b : m) => _inst_8 a b) (AddMonoid.toZero.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2)) a) (Matrix.diagonal.{u2, u3} n α (fun (a : n) (b : n) => _inst_9 a b) (AddMonoid.toZero.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2)) b)) (Matrix.diagonal.{u2, max u4 u3} (Prod.{u4, u3} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (fun (a : Prod.{u4, u3} m n) (b : Prod.{u4, u3} m n) => instDecidableEqProd.{u4, u3} m n (fun (a : m) (b : m) => _inst_8 a b) (fun (a : n) (b : n) => _inst_9 a b) a b) (AddMonoid.toZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (AddCommMonoid.toAddMonoid.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (fun (mn : Prod.{u4, u3} m n) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 (a (Prod.fst.{u4, u3} m n mn)) (b (Prod.snd.{u4, u3} m n mn))))
-Case conversion may be inaccurate. Consider using '#align matrix.diagonal_kronecker_tmul_diagonal Matrix.diagonal_kroneckerTMul_diagonalₓ'. -/
 theorem diagonal_kroneckerTMul_diagonal [DecidableEq m] [DecidableEq n] (a : m → α) (b : n → α) :
     diagonal a ⊗ₖₜ[R] diagonal b = diagonal fun mn => a mn.1 ⊗ₜ b mn.2 :=
   kroneckerMap_diagonal_diagonal _ (zero_tmul _) (tmul_zero _) _ _
 #align matrix.diagonal_kronecker_tmul_diagonal Matrix.diagonal_kroneckerTMul_diagonal
 
-/- warning: matrix.kronecker_tmul_diagonal -> Matrix.kroneckerTMul_diagonal is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_8 : DecidableEq.{succ u5} n] (A : Matrix.{u3, u4, u2} l m α) (b : n -> α), Eq.{succ (max (max u3 u5) (max u4 u5) u2)} (Matrix.{max u3 u5, max u4 u5, u2} (Prod.{u3, u5} l n) (Prod.{u4, u5} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u5} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) A (Matrix.diagonal.{u2, u5} n α (fun (a : n) (b : n) => _inst_8 a b) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) b)) (Matrix.blockDiagonal.{u3, u4, u5, u2} l m n (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (fun (a : n) (b : n) => _inst_8 a b) (AddZeroClass.toHasZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addZeroClass.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (fun (i : n) => Matrix.map.{u2, u2, u3, u4} l m α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) A (fun (a : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 a (b i))))
-but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u5}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_8 : DecidableEq.{succ u5} n] (A : Matrix.{u4, u3, u2} l m α) (b : n -> α), Eq.{max (max (max (succ u2) (succ u4)) (succ u3)) (succ u5)} (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} l n) (Prod.{u3, u5} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u4, u3, u5, u5} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) A (Matrix.diagonal.{u2, u5} n α (fun (a : n) (b : n) => _inst_8 a b) (AddMonoid.toZero.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2)) b)) (Matrix.blockDiagonal.{u4, u3, u5, u2} l m n (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (fun (a : n) (b : n) => _inst_8 a b) (AddMonoid.toZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (AddCommMonoid.toAddMonoid.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (fun (i : n) => Matrix.map.{u2, u2, u4, u3} l m α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) A (fun (a : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 a (b i))))
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_diagonal Matrix.kroneckerTMul_diagonalₓ'. -/
 theorem kroneckerTMul_diagonal [DecidableEq n] (A : Matrix l m α) (b : n → α) :
     A ⊗ₖₜ[R] diagonal b = blockDiagonal fun i => A.map fun a => a ⊗ₜ[R] b i :=
   kroneckerMap_diagonal_right _ (tmul_zero _) _ _
 #align matrix.kronecker_tmul_diagonal Matrix.kroneckerTMul_diagonal
 
-/- warning: matrix.diagonal_kronecker_tmul -> Matrix.diagonal_kroneckerTMul is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_8 : DecidableEq.{succ u3} l] (a : l -> α) (B : Matrix.{u4, u5, u2} m n α), Eq.{succ (max (max u3 u4) (max u3 u5) u2)} (Matrix.{max u3 u4, max u3 u5, u2} (Prod.{u3, u4} l m) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u3, u3, u4, u5} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l l m n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Matrix.diagonal.{u2, u3} l α (fun (a : l) (b : l) => _inst_8 a b) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) a) B) (coeFn.{max 1 (max (succ (max (max u4 u3) (max u5 u3) u2)) (succ (max (max u3 u4) (max u3 u5) u2))) (succ (max (max u3 u4) (max u3 u5) u2)) (succ (max (max u4 u3) (max u5 u3) u2)), max (succ (max (max u4 u3) (max u5 u3) u2)) (succ (max (max u3 u4) (max u3 u5) u2))} (Equiv.{succ (max (max u4 u3) (max u5 u3) u2), succ (max (max u3 u4) (max u3 u5) u2)} (Matrix.{max u4 u3, max u5 u3, u2} (Prod.{u4, u3} m l) (Prod.{u5, u3} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u4, max u3 u5, u2} (Prod.{u3, u4} l m) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (fun (_x : Equiv.{succ (max (max u4 u3) (max u5 u3) u2), succ (max (max u3 u4) (max u3 u5) u2)} (Matrix.{max u4 u3, max u5 u3, u2} (Prod.{u4, u3} m l) (Prod.{u5, u3} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u4, max u3 u5, u2} (Prod.{u3, u4} l m) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) => (Matrix.{max u4 u3, max u5 u3, u2} (Prod.{u4, u3} m l) (Prod.{u5, u3} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) -> (Matrix.{max u3 u4, max u3 u5, u2} (Prod.{u3, u4} l m) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (Equiv.hasCoeToFun.{succ (max (max u4 u3) (max u5 u3) u2), succ (max (max u3 u4) (max u3 u5) u2)} (Matrix.{max u4 u3, max u5 u3, u2} (Prod.{u4, u3} m l) (Prod.{u5, u3} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u4, max u3 u5, u2} (Prod.{u3, u4} l m) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (Matrix.reindex.{u2, max u3 u4, max u4 u3, max u5 u3, max u3 u5} (Prod.{u3, u4} l m) (Prod.{u4, u3} m l) (Prod.{u5, u3} n l) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Equiv.prodComm.{u4, u3} m l) (Equiv.prodComm.{u5, u3} n l)) (Matrix.blockDiagonal.{u4, u5, u3, u2} m n l (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (fun (a : l) (b : l) => _inst_8 a b) (AddZeroClass.toHasZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addZeroClass.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (fun (i : l) => Matrix.map.{u2, u2, u4, u5} m n α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) B (fun (b : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 (a i) b))))
-but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u5}} {m : Type.{u4}} {n : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_8 : DecidableEq.{succ u5} l] (a : l -> α) (B : Matrix.{u4, u3, u2} m n α), Eq.{max (max (max (succ u2) (succ u5)) (succ u4)) (succ u3)} (Matrix.{max u4 u5, max u3 u5, u2} (Prod.{u5, u4} l m) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u5, u5, u4, u3} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l l m n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Matrix.diagonal.{u2, u5} l α (fun (a : l) (b : l) => _inst_8 a b) (AddMonoid.toZero.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2)) a) B) (FunLike.coe.{max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3), max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3), max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3)} (Equiv.{max (max (succ u2) (succ (max u5 u3))) (succ (max u5 u4)), max (max (succ u2) (succ (max u5 u3))) (succ (max u5 u4))} (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u5, u4} l m) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (fun (_x : Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) => Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u5, u4} l m) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3), max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3)} (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u5, u4} l m) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (Matrix.reindex.{u2, max u5 u4, max u5 u4, max u5 u3, max u5 u3} (Prod.{u5, u4} l m) (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Equiv.prodComm.{u4, u5} m l) (Equiv.prodComm.{u3, u5} n l)) (Matrix.blockDiagonal.{u4, u3, u5, u2} m n l (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (fun (a : l) (b : l) => _inst_8 a b) (AddMonoid.toZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (AddCommMonoid.toAddMonoid.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (fun (i : l) => Matrix.map.{u2, u2, u4, u3} m n α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) B (fun (b : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 (a i) b))))
-Case conversion may be inaccurate. Consider using '#align matrix.diagonal_kronecker_tmul Matrix.diagonal_kroneckerTMulₓ'. -/
 theorem diagonal_kroneckerTMul [DecidableEq l] (a : l → α) (B : Matrix m n α) :
     diagonal a ⊗ₖₜ[R] B =
       Matrix.reindex (Equiv.prodComm _ _) (Equiv.prodComm _ _)
@@ -795,9 +525,6 @@ theorem diagonal_kroneckerTMul [DecidableEq l] (a : l → α) (B : Matrix m n α
   kroneckerMap_diagonal_left _ (zero_tmul _) _ _
 #align matrix.diagonal_kronecker_tmul Matrix.diagonal_kroneckerTMul
 
-/- warning: matrix.kronecker_tmul_assoc -> Matrix.kroneckerTMul_assoc is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_assoc Matrix.kroneckerTMul_assocₓ'. -/
 @[simp]
 theorem kroneckerTMul_assoc (A : Matrix l m α) (B : Matrix n p β) (C : Matrix q r γ) :
     reindex (Equiv.prodAssoc l n q) (Equiv.prodAssoc m p r)
@@ -806,9 +533,6 @@ theorem kroneckerTMul_assoc (A : Matrix l m α) (B : Matrix n p β) (C : Matrix
   ext fun i j => assoc_tmul _ _ _
 #align matrix.kronecker_tmul_assoc Matrix.kroneckerTMul_assoc
 
-/- warning: matrix.trace_kronecker_tmul -> Matrix.trace_kroneckerTMul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.trace_kronecker_tmul Matrix.trace_kroneckerTMulₓ'. -/
 theorem trace_kroneckerTMul [Fintype m] [Fintype n] (A : Matrix m m α) (B : Matrix n n β) :
     trace (A ⊗ₖₜ[R] B) = trace A ⊗ₜ[R] trace B :=
   trace_kroneckerMapBilinear (TensorProduct.mk R α β) _ _
@@ -826,18 +550,12 @@ section Semiring
 
 variable [CommSemiring R] [Semiring α] [Semiring β] [Algebra R α] [Algebra R β]
 
-/- warning: matrix.one_kronecker_tmul_one -> Matrix.one_kroneckerTMul_one is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.one_kronecker_tmul_one Matrix.one_kroneckerTMul_oneₓ'. -/
 @[simp]
 theorem one_kroneckerTMul_one [DecidableEq m] [DecidableEq n] :
     (1 : Matrix m m α) ⊗ₖₜ[R] (1 : Matrix n n α) = 1 :=
   kroneckerMap_one_one _ (zero_tmul _) (tmul_zero _) rfl
 #align matrix.one_kronecker_tmul_one Matrix.one_kroneckerTMul_one
 
-/- warning: matrix.mul_kronecker_tmul_mul -> Matrix.mul_kroneckerTMul_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.mul_kronecker_tmul_mul Matrix.mul_kroneckerTMul_mulₓ'. -/
 theorem mul_kroneckerTMul_mul [Fintype m] [Fintype m'] (A : Matrix l m α) (B : Matrix m n α)
     (A' : Matrix l' m' β) (B' : Matrix m' n' β) : (A ⬝ B) ⊗ₖₜ[R] (A' ⬝ B') = A ⊗ₖₜ A' ⬝ B ⊗ₖₜ B' :=
   kroneckerMapBilinear_mul_mul (TensorProduct.mk R α β) tmul_mul_tmul A B A' B'
@@ -849,9 +567,6 @@ section CommRing
 
 variable [CommRing R] [CommRing α] [CommRing β] [Algebra R α] [Algebra R β]
 
-/- warning: matrix.det_kronecker_tmul -> Matrix.det_kroneckerTMul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.det_kronecker_tmul Matrix.det_kroneckerTMulₓ'. -/
 theorem det_kroneckerTMul [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] (A : Matrix m m α)
     (B : Matrix n n β) :
     det (A ⊗ₖₜ[R] B) = (det A ^ Fintype.card n) ⊗ₜ[R] (det B ^ Fintype.card m) :=
Diff
@@ -257,9 +257,7 @@ theorem kroneckerMap_reindex (f : α → β → γ) (el : l ≃ l') (em : m ≃
     (M : Matrix l m α) (N : Matrix n p β) :
     kroneckerMap f (reindex el em M) (reindex en ep N) =
       reindex (el.prodCongr en) (em.prodCongr ep) (kroneckerMap f M N) :=
-  by
-  ext (⟨i, i'⟩⟨j, j'⟩)
-  rfl
+  by ext (⟨i, i'⟩⟨j, j'⟩); rfl
 #align matrix.kronecker_map_reindex Matrix.kroneckerMap_reindex
 
 /- warning: matrix.kronecker_map_reindex_left -> Matrix.kroneckerMap_reindex_left is a dubious translation:
@@ -613,10 +611,8 @@ theorem det_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [C
   by
   refine' (det_kronecker_map_bilinear (Algebra.lmul ℕ R).toLinearMap mul_mul_mul_comm _ _).trans _
   congr 3
-  · ext (i j)
-    exact mul_one _
-  · ext (i j)
-    exact one_mul _
+  · ext (i j); exact mul_one _
+  · ext (i j); exact one_mul _
 #align matrix.det_kronecker Matrix.det_kronecker
 
 /- warning: matrix.inv_kronecker -> Matrix.inv_kronecker is a dubious translation:
Diff
@@ -241,10 +241,7 @@ theorem kroneckerMap_diagonal_left [Zero α] [Zero γ] [DecidableEq l] (f : α 
 #align matrix.kronecker_map_diagonal_left Matrix.kroneckerMap_diagonal_left
 
 /- warning: matrix.kronecker_map_one_one -> Matrix.kroneckerMap_one_one is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} [_inst_1 : Zero.{u1} α] [_inst_2 : Zero.{u2} β] [_inst_3 : Zero.{u3} γ] [_inst_4 : One.{u1} α] [_inst_5 : One.{u2} β] [_inst_6 : One.{u3} γ] [_inst_7 : DecidableEq.{succ u4} m] [_inst_8 : DecidableEq.{succ u5} n] (f : α -> β -> γ), (forall (b : β), Eq.{succ u3} γ (f (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α _inst_1))) b) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_3)))) -> (forall (a : α), Eq.{succ u3} γ (f a (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_3)))) -> (Eq.{succ u3} γ (f (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α _inst_4))) (OfNat.ofNat.{u2} β 1 (OfNat.mk.{u2} β 1 (One.one.{u2} β _inst_5)))) (OfNat.ofNat.{u3} γ 1 (OfNat.mk.{u3} γ 1 (One.one.{u3} γ _inst_6)))) -> (Eq.{succ (max (max u4 u5) u3)} (Matrix.{max u4 u5, max u4 u5, u3} (Prod.{u4, u5} m n) (Prod.{u4, u5} m n) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u4, u5, u5} α β γ m m n n f (OfNat.ofNat.{max u4 u1} (Matrix.{u4, u4, u1} m m α) 1 (OfNat.mk.{max u4 u1} (Matrix.{u4, u4, u1} m m α) 1 (One.one.{max u4 u1} (Matrix.{u4, u4, u1} m m α) (Matrix.hasOne.{u1, u4} m α (fun (a : m) (b : m) => _inst_7 a b) _inst_1 _inst_4)))) (OfNat.ofNat.{max u5 u2} (Matrix.{u5, u5, u2} n n β) 1 (OfNat.mk.{max u5 u2} (Matrix.{u5, u5, u2} n n β) 1 (One.one.{max u5 u2} (Matrix.{u5, u5, u2} n n β) (Matrix.hasOne.{u2, u5} n β (fun (a : n) (b : n) => _inst_8 a b) _inst_2 _inst_5))))) (OfNat.ofNat.{max (max u4 u5) u3} (Matrix.{max u4 u5, max u4 u5, u3} (Prod.{u4, u5} m n) (Prod.{u4, u5} m n) γ) 1 (OfNat.mk.{max (max u4 u5) u3} (Matrix.{max u4 u5, max u4 u5, u3} (Prod.{u4, u5} m n) (Prod.{u4, u5} m n) γ) 1 (One.one.{max (max u4 u5) u3} (Matrix.{max u4 u5, max u4 u5, u3} (Prod.{u4, u5} m n) (Prod.{u4, u5} m n) γ) (Matrix.hasOne.{u3, max u4 u5} (Prod.{u4, u5} m n) γ (fun (a : Prod.{u4, u5} m n) (b : Prod.{u4, u5} m n) => Prod.Lex.decidableEq.{u4, u5} m n (fun (a : m) (b : m) => _inst_7 a b) (fun (a : n) (b : n) => _inst_8 a b) a b) _inst_3 _inst_6)))))
-but is expected to have type
-  forall {α : Type.{u5}} {β : Type.{u4}} {γ : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} [_inst_1 : Zero.{u5} α] [_inst_2 : Zero.{u4} β] [_inst_3 : Zero.{u3} γ] [_inst_4 : One.{u5} α] [_inst_5 : One.{u4} β] [_inst_6 : One.{u3} γ] [_inst_7 : DecidableEq.{succ u2} m] [_inst_8 : DecidableEq.{succ u1} n] (f : α -> β -> γ), (forall (b : β), Eq.{succ u3} γ (f (OfNat.ofNat.{u5} α 0 (Zero.toOfNat0.{u5} α _inst_1)) b) (OfNat.ofNat.{u3} γ 0 (Zero.toOfNat0.{u3} γ _inst_3))) -> (forall (a : α), Eq.{succ u3} γ (f a (OfNat.ofNat.{u4} β 0 (Zero.toOfNat0.{u4} β _inst_2))) (OfNat.ofNat.{u3} γ 0 (Zero.toOfNat0.{u3} γ _inst_3))) -> (Eq.{succ u3} γ (f (OfNat.ofNat.{u5} α 1 (One.toOfNat1.{u5} α _inst_4)) (OfNat.ofNat.{u4} β 1 (One.toOfNat1.{u4} β _inst_5))) (OfNat.ofNat.{u3} γ 1 (One.toOfNat1.{u3} γ _inst_6))) -> (Eq.{max (max (succ u3) (succ u2)) (succ u1)} (Matrix.{max u1 u2, max u1 u2, u3} (Prod.{u2, u1} m n) (Prod.{u2, u1} m n) γ) (Matrix.kroneckerMap.{u5, u4, u3, u2, u2, u1, u1} α β γ m m n n f (OfNat.ofNat.{max u5 u2} (Matrix.{u2, u2, u5} m m α) 1 (One.toOfNat1.{max u5 u2} (Matrix.{u2, u2, u5} m m α) (Matrix.one.{u5, u2} m α (fun (a : m) (b : m) => _inst_7 a b) _inst_1 _inst_4))) (OfNat.ofNat.{max u4 u1} (Matrix.{u1, u1, u4} n n β) 1 (One.toOfNat1.{max u4 u1} (Matrix.{u1, u1, u4} n n β) (Matrix.one.{u4, u1} n β (fun (a : n) (b : n) => _inst_8 a b) _inst_2 _inst_5)))) (OfNat.ofNat.{max (max u3 u2) u1} (Matrix.{max u1 u2, max u1 u2, u3} (Prod.{u2, u1} m n) (Prod.{u2, u1} m n) γ) 1 (One.toOfNat1.{max (max u3 u2) u1} (Matrix.{max u1 u2, max u1 u2, u3} (Prod.{u2, u1} m n) (Prod.{u2, u1} m n) γ) (Matrix.one.{u3, max u2 u1} (Prod.{u2, u1} m n) γ (fun (a : Prod.{u2, u1} m n) (b : Prod.{u2, u1} m n) => instDecidableEqProd.{u2, u1} m n (fun (a : m) (b : m) => _inst_7 a b) (fun (a : n) (b : n) => _inst_8 a b) a b) _inst_3 _inst_6))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_one_one Matrix.kroneckerMap_one_oneₓ'. -/
 @[simp]
 theorem kroneckerMap_one_one [Zero α] [Zero β] [Zero γ] [One α] [One β] [One γ] [DecidableEq m]
@@ -254,10 +251,7 @@ theorem kroneckerMap_one_one [Zero α] [Zero β] [Zero γ] [One α] [One β] [On
 #align matrix.kronecker_map_one_one Matrix.kroneckerMap_one_one
 
 /- warning: matrix.kronecker_map_reindex -> Matrix.kroneckerMap_reindex is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} {l' : Type.{u8}} {m' : Type.{u9}} {n' : Type.{u10}} {p' : Type.{u11}} (f : α -> β -> γ) (el : Equiv.{succ u4, succ u8} l l') (em : Equiv.{succ u5, succ u9} m m') (en : Equiv.{succ u6, succ u10} n n') (ep : Equiv.{succ u7, succ u11} p p') (M : Matrix.{u4, u5, u1} l m α) (N : Matrix.{u6, u7, u2} n p β), Eq.{succ (max (max u8 u10) (max u9 u11) u3)} (Matrix.{max u8 u10, max u9 u11, u3} (Prod.{u8, u10} l' n') (Prod.{u9, u11} m' p') γ) (Matrix.kroneckerMap.{u1, u2, u3, u8, u9, u10, u11} α β γ l' m' n' p' f (coeFn.{max 1 (max (succ (max u4 u5 u1)) (succ (max u8 u9 u1))) (succ (max u8 u9 u1)) (succ (max u4 u5 u1)), max (succ (max u4 u5 u1)) (succ (max u8 u9 u1))} (Equiv.{succ (max u4 u5 u1), succ (max u8 u9 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u8, u9, u1} l' m' α)) (fun (_x : Equiv.{succ (max u4 u5 u1), succ (max u8 u9 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u8, u9, u1} l' m' α)) => (Matrix.{u4, u5, u1} l m α) -> (Matrix.{u8, u9, u1} l' m' α)) (Equiv.hasCoeToFun.{succ (max u4 u5 u1), succ (max u8 u9 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u8, u9, u1} l' m' α)) (Matrix.reindex.{u1, u8, u4, u5, u9} l' l m m' α el em) M) (coeFn.{max 1 (max (succ (max u6 u7 u2)) (succ (max u10 u11 u2))) (succ (max u10 u11 u2)) (succ (max u6 u7 u2)), max (succ (max u6 u7 u2)) (succ (max u10 u11 u2))} (Equiv.{succ (max u6 u7 u2), succ (max u10 u11 u2)} (Matrix.{u6, u7, u2} n p β) (Matrix.{u10, u11, u2} n' p' β)) (fun (_x : Equiv.{succ (max u6 u7 u2), succ (max u10 u11 u2)} (Matrix.{u6, u7, u2} n p β) (Matrix.{u10, u11, u2} n' p' β)) => (Matrix.{u6, u7, u2} n p β) -> (Matrix.{u10, u11, u2} n' p' β)) (Equiv.hasCoeToFun.{succ (max u6 u7 u2), succ (max u10 u11 u2)} (Matrix.{u6, u7, u2} n p β) (Matrix.{u10, u11, u2} n' p' β)) (Matrix.reindex.{u2, u10, u6, u7, u11} n' n p p' β en ep) N)) (coeFn.{max 1 (max (succ (max (max u4 u6) (max u5 u7) u3)) (succ (max (max u8 u10) (max u9 u11) u3))) (succ (max (max u8 u10) (max u9 u11) u3)) (succ (max (max u4 u6) (max u5 u7) u3)), max (succ (max (max u4 u6) (max u5 u7) u3)) (succ (max (max u8 u10) (max u9 u11) u3))} (Equiv.{succ (max (max u4 u6) (max u5 u7) u3), succ (max (max u8 u10) (max u9 u11) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u8 u10, max u9 u11, u3} (Prod.{u8, u10} l' n') (Prod.{u9, u11} m' p') γ)) (fun (_x : Equiv.{succ (max (max u4 u6) (max u5 u7) u3), succ (max (max u8 u10) (max u9 u11) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u8 u10, max u9 u11, u3} (Prod.{u8, u10} l' n') (Prod.{u9, u11} m' p') γ)) => (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) -> (Matrix.{max u8 u10, max u9 u11, u3} (Prod.{u8, u10} l' n') (Prod.{u9, u11} m' p') γ)) (Equiv.hasCoeToFun.{succ (max (max u4 u6) (max u5 u7) u3), succ (max (max u8 u10) (max u9 u11) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u8 u10, max u9 u11, u3} (Prod.{u8, u10} l' n') (Prod.{u9, u11} m' p') γ)) (Matrix.reindex.{u3, max u8 u10, max u4 u6, max u5 u7, max u9 u11} (Prod.{u8, u10} l' n') (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (Prod.{u9, u11} m' p') γ (Equiv.prodCongr.{u4, u6, u8, u10} l n l' n' el en) (Equiv.prodCongr.{u5, u7, u9, u11} m p m' p' em ep)) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f M N))
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {l : Type.{u11}} {m : Type.{u9}} {n : Type.{u7}} {p : Type.{u5}} {l' : Type.{u10}} {m' : Type.{u8}} {n' : Type.{u6}} {p' : Type.{u4}} (f : α -> β -> γ) (el : Equiv.{succ u11, succ u10} l l') (em : Equiv.{succ u9, succ u8} m m') (en : Equiv.{succ u7, succ u6} n n') (ep : Equiv.{succ u5, succ u4} p p') (M : Matrix.{u11, u9, u3} l m α) (N : Matrix.{u7, u5, u2} n p β), Eq.{max (max (max (max (succ u1) (succ u10)) (succ u8)) (succ u6)) (succ u4)} (Matrix.{max u6 u10, max u4 u8, u1} (Prod.{u10, u6} l' n') (Prod.{u8, u4} m' p') γ) (Matrix.kroneckerMap.{u3, u2, u1, u10, u8, u6, u4} α β γ l' m' n' p' f (FunLike.coe.{max (max (max (max (succ u11) (succ u9)) (succ u10)) (succ u8)) (succ u3), max (max (succ u11) (succ u9)) (succ u3), max (max (succ u10) (succ u8)) (succ u3)} (Equiv.{max (max (succ u3) (succ u9)) (succ u11), max (max (succ u3) (succ u8)) (succ u10)} (Matrix.{u11, u9, u3} l m α) (Matrix.{u10, u8, u3} l' m' α)) (Matrix.{u11, u9, u3} l m α) (fun (_x : Matrix.{u11, u9, u3} l m α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u11, u9, u3} l m α) => Matrix.{u10, u8, u3} l' m' α) _x) (Equiv.instFunLikeEquiv.{max (max (succ u11) (succ u9)) (succ u3), max (max (succ u10) (succ u8)) (succ u3)} (Matrix.{u11, u9, u3} l m α) (Matrix.{u10, u8, u3} l' m' α)) (Matrix.reindex.{u3, u10, u11, u9, u8} l' l m m' α el em) M) (FunLike.coe.{max (max (max (max (succ u7) (succ u5)) (succ u6)) (succ u4)) (succ u2), max (max (succ u7) (succ u5)) (succ u2), max (max (succ u6) (succ u4)) (succ u2)} (Equiv.{max (max (succ u2) (succ u5)) (succ u7), max (max (succ u2) (succ u4)) (succ u6)} (Matrix.{u7, u5, u2} n p β) (Matrix.{u6, u4, u2} n' p' β)) (Matrix.{u7, u5, u2} n p β) (fun (_x : Matrix.{u7, u5, u2} n p β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u7, u5, u2} n p β) => Matrix.{u6, u4, u2} n' p' β) _x) (Equiv.instFunLikeEquiv.{max (max (succ u7) (succ u5)) (succ u2), max (max (succ u6) (succ u4)) (succ u2)} (Matrix.{u7, u5, u2} n p β) (Matrix.{u6, u4, u2} n' p' β)) (Matrix.reindex.{u2, u6, u7, u5, u4} n' n p p' β en ep) N)) (FunLike.coe.{max (max (max (max (max (max (max (max (succ u11) (succ u9)) (succ u7)) (succ u5)) (succ u10)) (succ u8)) (succ u6)) (succ u4)) (succ u1), max (max (max (max (succ u11) (succ u9)) (succ u7)) (succ u5)) (succ u1), max (max (max (max (succ u10) (succ u8)) (succ u6)) (succ u4)) (succ u1)} (Equiv.{max (max (succ u1) (succ (max u9 u5))) (succ (max u11 u7)), max (max (succ u1) (succ (max u8 u4))) (succ (max u10 u6))} (Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) (Matrix.{max u10 u6, max u8 u4, u1} (Prod.{u10, u6} l' n') (Prod.{u8, u4} m' p') γ)) (Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) (fun (_x : Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) => Matrix.{max u10 u6, max u8 u4, u1} (Prod.{u10, u6} l' n') (Prod.{u8, u4} m' p') γ) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u11) (succ u9)) (succ u7)) (succ u5)) (succ u1), max (max (max (max (succ u10) (succ u8)) (succ u6)) (succ u4)) (succ u1)} (Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) (Matrix.{max u10 u6, max u8 u4, u1} (Prod.{u10, u6} l' n') (Prod.{u8, u4} m' p') γ)) (Matrix.reindex.{u1, max u10 u6, max u11 u7, max u9 u5, max u8 u4} (Prod.{u10, u6} l' n') (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) (Prod.{u8, u4} m' p') γ (Equiv.prodCongr.{u11, u10, u7, u6} l l' n n' el en) (Equiv.prodCongr.{u9, u8, u5, u4} m m' p p' em ep)) (Matrix.kroneckerMap.{u3, u2, u1, u11, u9, u7, u5} α β γ l m n p f M N))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_reindex Matrix.kroneckerMap_reindexₓ'. -/
 theorem kroneckerMap_reindex (f : α → β → γ) (el : l ≃ l') (em : m ≃ m') (en : n ≃ n') (ep : p ≃ p')
     (M : Matrix l m α) (N : Matrix n p β) :
@@ -295,10 +289,7 @@ theorem kroneckerMap_reindex_right (f : α → β → γ) (em : m ≃ m') (en :
 #align matrix.kronecker_map_reindex_right Matrix.kroneckerMap_reindex_right
 
 /- warning: matrix.kronecker_map_assoc -> Matrix.kroneckerMap_assoc is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} {q : Type.{u8}} {r : Type.{u9}} {δ : Type.{u10}} {ξ : Type.{u11}} {ω : Type.{u12}} {ω' : Type.{u13}} (f : α -> β -> γ) (g : γ -> δ -> ω) (f' : α -> ξ -> ω') (g' : β -> δ -> ξ) (A : Matrix.{u4, u5, u1} l m α) (B : Matrix.{u6, u7, u2} n p β) (D : Matrix.{u8, u9, u10} q r δ) (φ : Equiv.{succ u12, succ u13} ω ω'), (forall (a : α) (b : β) (d : δ), Eq.{succ u13} ω' (coeFn.{max 1 (max (succ u12) (succ u13)) (succ u13) (succ u12), max (succ u12) (succ u13)} (Equiv.{succ u12, succ u13} ω ω') (fun (_x : Equiv.{succ u12, succ u13} ω ω') => ω -> ω') (Equiv.hasCoeToFun.{succ u12, succ u13} ω ω') φ (g (f a b) d)) (f' a (g' b d))) -> (Eq.{succ (max (max u4 u6 u8) (max u5 u7 u9) u13)} (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω') (coeFn.{max 1 (max (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)) (succ (max (max u4 u6 u8) (max u5 u7 u9) u13))) (succ (max (max u4 u6 u8) (max u5 u7 u9) u13)) (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)), max (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)) (succ (max (max u4 u6 u8) (max u5 u7 u9) u13))} (Equiv.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u13)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω')) (fun (_x : Equiv.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u13)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω')) => (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) -> (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω')) (Equiv.hasCoeToFun.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u13)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω')) (Equiv.trans.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u13)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω') (Matrix.reindex.{u12, max u4 u6 u8, max (max u4 u6) u8, max (max u5 u7) u9, max u5 u7 u9} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω (Equiv.prodAssoc.{u4, u6, u8} l n q) (Equiv.prodAssoc.{u5, u7, u9} m p r)) (Equiv.mapMatrix.{u12, u13, max u4 u6 u8, max u5 u7 u9} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω ω' φ)) (Matrix.kroneckerMap.{u3, u10, u12, max u4 u6, max u5 u7, u8, u9} γ δ ω (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) q r g (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A B) D)) (Matrix.kroneckerMap.{u1, u11, u13, u4, u5, max u6 u8, max u7 u9} α ξ ω' l m (Prod.{u6, u8} n q) (Prod.{u7, u9} p r) f' A (Matrix.kroneckerMap.{u2, u10, u11, u6, u7, u8, u9} β δ ξ n p q r g' B D)))
-but is expected to have type
-  forall {α : Type.{u7}} {β : Type.{u4}} {γ : Type.{u1}} {l : Type.{u9}} {m : Type.{u8}} {n : Type.{u6}} {p : Type.{u5}} {q : Type.{u3}} {r : Type.{u2}} {δ : Type.{u13}} {ξ : Type.{u12}} {ω : Type.{u11}} {ω' : Type.{u10}} (f : α -> β -> γ) (g : γ -> δ -> ω) (f' : α -> ξ -> ω') (g' : β -> δ -> ξ) (A : Matrix.{u9, u8, u7} l m α) (B : Matrix.{u6, u5, u4} n p β) (D : Matrix.{u3, u2, u13} q r δ) (φ : Equiv.{succ u11, succ u10} ω ω'), (forall (a : α) (b : β) (d : δ), Eq.{succ u10} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ω) => ω') (g (f a b) d)) (FunLike.coe.{max (succ u11) (succ u10), succ u11, succ u10} (Equiv.{succ u11, succ u10} ω ω') ω (fun (_x : ω) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ω) => ω') _x) (Equiv.instFunLikeEquiv.{succ u11, succ u10} ω ω') φ (g (f a b) d)) (f' a (g' b d))) -> (Eq.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω') (Matrix.kroneckerMap.{u1, u13, u11, max u9 u6, max u8 u5, u3, u2} γ δ ω (Prod.{u9, u6} l n) (Prod.{u8, u5} m p) q r g (Matrix.kroneckerMap.{u7, u4, u1, u9, u8, u6, u5} α β γ l m n p f A B) D)) (FunLike.coe.{max (max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11)) (succ u10), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Equiv.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω')) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (fun (_x : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω') _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω')) (Equiv.trans.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω') (Matrix.reindex.{u11, max (max u9 u6) u3, max (max u9 u6) u3, max (max u8 u5) u2, max (max u8 u5) u2} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω (Equiv.prodAssoc.{u9, u6, u3} l n q) (Equiv.prodAssoc.{u8, u5, u2} m p r)) (Equiv.mapMatrix.{u11, u10, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω ω' φ)) (Matrix.kroneckerMap.{u1, u13, u11, max u9 u6, max u8 u5, u3, u2} γ δ ω (Prod.{u9, u6} l n) (Prod.{u8, u5} m p) q r g (Matrix.kroneckerMap.{u7, u4, u1, u9, u8, u6, u5} α β γ l m n p f A B) D)) (Matrix.kroneckerMap.{u7, u12, u10, u9, u8, max u3 u6, max u2 u5} α ξ ω' l m (Prod.{u6, u3} n q) (Prod.{u5, u2} p r) f' A (Matrix.kroneckerMap.{u4, u13, u12, u6, u5, u3, u2} β δ ξ n p q r g' B D)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_assoc Matrix.kroneckerMap_assocₓ'. -/
 theorem kroneckerMap_assoc {δ ξ ω ω' : Type _} (f : α → β → γ) (g : γ → δ → ω) (f' : α → ξ → ω')
     (g' : β → δ → ξ) (A : Matrix l m α) (B : Matrix n p β) (D : Matrix q r δ) (φ : ω ≃ ω')
@@ -310,10 +301,7 @@ theorem kroneckerMap_assoc {δ ξ ω ω' : Type _} (f : α → β → γ) (g : 
 #align matrix.kronecker_map_assoc Matrix.kroneckerMap_assoc
 
 /- warning: matrix.kronecker_map_assoc₁ -> Matrix.kroneckerMap_assoc₁ is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} {q : Type.{u8}} {r : Type.{u9}} {δ : Type.{u10}} {ξ : Type.{u11}} {ω : Type.{u12}} (f : α -> β -> γ) (g : γ -> δ -> ω) (f' : α -> ξ -> ω) (g' : β -> δ -> ξ) (A : Matrix.{u4, u5, u1} l m α) (B : Matrix.{u6, u7, u2} n p β) (D : Matrix.{u8, u9, u10} q r δ), (forall (a : α) (b : β) (d : δ), Eq.{succ u12} ω (g (f a b) d) (f' a (g' b d))) -> (Eq.{succ (max (max u4 u6 u8) (max u5 u7 u9) u12)} (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω) (coeFn.{max 1 (max (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)) (succ (max (max u4 u6 u8) (max u5 u7 u9) u12))) (succ (max (max u4 u6 u8) (max u5 u7 u9) u12)) (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)), max (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)) (succ (max (max u4 u6 u8) (max u5 u7 u9) u12))} (Equiv.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u12)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω)) (fun (_x : Equiv.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u12)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω)) => (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) -> (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω)) (Equiv.hasCoeToFun.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u12)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω)) (Matrix.reindex.{u12, max u4 u6 u8, max (max u4 u6) u8, max (max u5 u7) u9, max u5 u7 u9} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω (Equiv.prodAssoc.{u4, u6, u8} l n q) (Equiv.prodAssoc.{u5, u7, u9} m p r)) (Matrix.kroneckerMap.{u3, u10, u12, max u4 u6, max u5 u7, u8, u9} γ δ ω (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) q r g (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A B) D)) (Matrix.kroneckerMap.{u1, u11, u12, u4, u5, max u6 u8, max u7 u9} α ξ ω l m (Prod.{u6, u8} n q) (Prod.{u7, u9} p r) f' A (Matrix.kroneckerMap.{u2, u10, u11, u6, u7, u8, u9} β δ ξ n p q r g' B D)))
-but is expected to have type
-  forall {α : Type.{u7}} {β : Type.{u4}} {γ : Type.{u1}} {l : Type.{u9}} {m : Type.{u8}} {n : Type.{u6}} {p : Type.{u5}} {q : Type.{u3}} {r : Type.{u2}} {δ : Type.{u12}} {ξ : Type.{u11}} {ω : Type.{u10}} (f : α -> β -> γ) (g : γ -> δ -> ω) (f' : α -> ξ -> ω) (g' : β -> δ -> ξ) (A : Matrix.{u9, u8, u7} l m α) (B : Matrix.{u6, u5, u4} n p β) (D : Matrix.{u3, u2, u12} q r δ), (forall (a : α) (b : β) (d : δ), Eq.{succ u10} ω (g (f a b) d) (f' a (g' b d))) -> (Eq.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω) (Matrix.kroneckerMap.{u1, u12, u10, max u9 u6, max u8 u5, u3, u2} γ δ ω (Prod.{u9, u6} l n) (Prod.{u8, u5} m p) q r g (Matrix.kroneckerMap.{u7, u4, u1, u9, u8, u6, u5} α β γ l m n p f A B) D)) (FunLike.coe.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Equiv.{max (max (succ u10) (succ (max (max u8 u5) u2))) (succ (max (max u9 u6) u3)), max (max (succ u10) (succ (max (max u8 u5) u2))) (succ (max (max u9 u6) u3))} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω)) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (fun (_x : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω)) (Matrix.reindex.{u10, max (max u9 u6) u3, max (max u9 u6) u3, max (max u8 u5) u2, max (max u8 u5) u2} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω (Equiv.prodAssoc.{u9, u6, u3} l n q) (Equiv.prodAssoc.{u8, u5, u2} m p r)) (Matrix.kroneckerMap.{u1, u12, u10, max u9 u6, max u8 u5, u3, u2} γ δ ω (Prod.{u9, u6} l n) (Prod.{u8, u5} m p) q r g (Matrix.kroneckerMap.{u7, u4, u1, u9, u8, u6, u5} α β γ l m n p f A B) D)) (Matrix.kroneckerMap.{u7, u11, u10, u9, u8, max u3 u6, max u2 u5} α ξ ω l m (Prod.{u6, u3} n q) (Prod.{u5, u2} p r) f' A (Matrix.kroneckerMap.{u4, u12, u11, u6, u5, u3, u2} β δ ξ n p q r g' B D)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_assoc₁ Matrix.kroneckerMap_assoc₁ₓ'. -/
 theorem kroneckerMap_assoc₁ {δ ξ ω : Type _} (f : α → β → γ) (g : γ → δ → ω) (f' : α → ξ → ω)
     (g' : β → δ → ξ) (A : Matrix l m α) (B : Matrix n p β) (D : Matrix q r δ)
@@ -338,10 +326,7 @@ def kroneckerMapBilinear [CommSemiring R] [AddCommMonoid α] [AddCommMonoid β]
 -/
 
 /- warning: matrix.kronecker_map_bilinear_mul_mul -> Matrix.kroneckerMapBilinear_mul_mul is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {l' : Type.{u8}} {m' : Type.{u9}} {n' : Type.{u10}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u6} m] [_inst_3 : Fintype.{u9} m'] [_inst_4 : NonUnitalNonAssocSemiring.{u2} α] [_inst_5 : NonUnitalNonAssocSemiring.{u3} β] [_inst_6 : NonUnitalNonAssocSemiring.{u4} γ] [_inst_7 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)] [_inst_8 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)] [_inst_9 : Module.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)] (f : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))), (forall (a : α) (b : α) (a' : β) (b' : β), Eq.{succ u4} γ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (HMul.hMul.{u2, u2, u2} α α α (instHMul.{u2} α (Distrib.toHasMul.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α _inst_4))) a b)) (HMul.hMul.{u3, u3, u3} β β β (instHMul.{u3} β (Distrib.toHasMul.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β _inst_5))) a' b')) (HMul.hMul.{u4, u4, u4} γ γ γ (instHMul.{u4} γ (Distrib.toHasMul.{u4} γ (NonUnitalNonAssocSemiring.toDistrib.{u4} γ _inst_6))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f a) a') (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f b) b'))) -> (forall (A : Matrix.{u5, u6, u2} l m α) (B : Matrix.{u6, u7, u2} m n α) (A' : Matrix.{u8, u9, u3} l' m' β) (B' : Matrix.{u9, u10, u3} m' n' β), Eq.{succ (max (max u5 u8) (max u7 u10) u4)} (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (coeFn.{max (succ (max u8 u10 u3)) (succ (max (max u5 u8) (max u7 u10) u4)), max (succ (max u8 u10 u3)) (succ (max (max u5 u8) (max u7 u10) u4))} (LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (fun (_x : LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) => (Matrix.{u8, u10, u3} l' n' β) -> (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ)) (LinearMap.hasCoeToFun.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u5 u7 u2)) (succ (max (max u8 u10 u3) (max u5 u8) (max u7 u10) u4)), max (succ (max u5 u7 u2)) (succ (max (max u8 u10 u3) (max u5 u8) (max u7 u10) u4))} (LinearMap.{u1, u1, max u5 u7 u2, max (max u8 u10 u3) (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u7, u2} l n α) (LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u5, u7} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u7, u1} l n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u10, u4, u5, u7} R γ l n l' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (fun (_x : LinearMap.{u1, u1, max u5 u7 u2, max (max u8 u10 u3) (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u7, u2} l n α) (LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u5, u7} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u7, u1} l n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u10, u4, u5, u7} R γ l n l' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) => (Matrix.{u5, u7, u2} l n α) -> (LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (LinearMap.hasCoeToFun.{u1, u1, max u5 u7 u2, max (max u8 u10 u3) (max u5 u8) (max u7 u10) u4} R R (Matrix.{u5, u7, u2} l n α) (LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u2, u5, u7} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u7, u1} l n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u10, u4, u5, u7} R γ l n l' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u1, u2, u3, u4, u5, u7, u8, u10} R α β γ l n l' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_7 _inst_8 _inst_9 f) (Matrix.mul.{u2, u5, u6, u7} l m n α _inst_2 (Distrib.toHasMul.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) A B)) (Matrix.mul.{u3, u8, u9, u10} l' m' n' β _inst_3 (Distrib.toHasMul.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) A' B')) (Matrix.mul.{u4, max u5 u8, max u6 u9, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (Prod.fintype.{u6, u9} m m' _inst_2 _inst_3) (Distrib.toHasMul.{u4} γ (NonUnitalNonAssocSemiring.toDistrib.{u4} γ _inst_6)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) (coeFn.{max (succ (max u8 u9 u3)) (succ (max (max u5 u8) (max u6 u9) u4)), max (succ (max u8 u9 u3)) (succ (max (max u5 u8) (max u6 u9) u4))} (LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (fun (_x : LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) => (Matrix.{u8, u9, u3} l' m' β) -> (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ)) (LinearMap.hasCoeToFun.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u5 u6 u2)) (succ (max (max u8 u9 u3) (max u5 u8) (max u6 u9) u4)), max (succ (max u5 u6 u2)) (succ (max (max u8 u9 u3) (max u5 u8) (max u6 u9) u4))} (LinearMap.{u1, u1, max u5 u6 u2, max (max u8 u9 u3) (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u6, u2} l m α) (LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u5, u6} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u6, u1} l m R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u9, u4, u5, u6} R γ l m l' m' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (fun (_x : LinearMap.{u1, u1, max u5 u6 u2, max (max u8 u9 u3) (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u6, u2} l m α) (LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u5, u6} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u6, u1} l m R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u9, u4, u5, u6} R γ l m l' m' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) => (Matrix.{u5, u6, u2} l m α) -> (LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (LinearMap.hasCoeToFun.{u1, u1, max u5 u6 u2, max (max u8 u9 u3) (max u5 u8) (max u6 u9) u4} R R (Matrix.{u5, u6, u2} l m α) (LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u2, u5, u6} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u6, u1} l m R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u9, u4, u5, u6} R γ l m l' m' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u1, u2, u3, u4, u5, u6, u8, u9} R α β γ l m l' m' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_7 _inst_8 _inst_9 f) A) A') (coeFn.{max (succ (max u9 u10 u3)) (succ (max (max u6 u9) (max u7 u10) u4)), max (succ (max u9 u10 u3)) (succ (max (max u6 u9) (max u7 u10) u4))} (LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (fun (_x : LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) => (Matrix.{u9, u10, u3} m' n' β) -> (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ)) (LinearMap.hasCoeToFun.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u6 u7 u2)) (succ (max (max u9 u10 u3) (max u6 u9) (max u7 u10) u4)), max (succ (max u6 u7 u2)) (succ (max (max u9 u10 u3) (max u6 u9) (max u7 u10) u4))} (LinearMap.{u1, u1, max u6 u7 u2, max (max u9 u10 u3) (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u7, u2} m n α) (LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u6, u7} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u6, u7, u1} m n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u9, u10, u4, u6, u7} R γ m n m' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (fun (_x : LinearMap.{u1, u1, max u6 u7 u2, max (max u9 u10 u3) (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u7, u2} m n α) (LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u6, u7} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u6, u7, u1} m n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u9, u10, u4, u6, u7} R γ m n m' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) => (Matrix.{u6, u7, u2} m n α) -> (LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (LinearMap.hasCoeToFun.{u1, u1, max u6 u7 u2, max (max u9 u10 u3) (max u6 u9) (max u7 u10) u4} R R (Matrix.{u6, u7, u2} m n α) (LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u2, u6, u7} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u6, u7, u1} m n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u9, u10, u4, u6, u7} R γ m n m' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u1, u2, u3, u4, u6, u7, u9, u10} R α β γ m n m' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_7 _inst_8 _inst_9 f) B) B')))
-but is expected to have type
-  forall {R : Type.{u10}} {α : Type.{u7}} {β : Type.{u6}} {γ : Type.{u5}} {l : Type.{u4}} {m : Type.{u9}} {n : Type.{u3}} {l' : Type.{u2}} {m' : Type.{u8}} {n' : Type.{u1}} [_inst_1 : CommSemiring.{u10} R] [_inst_2 : Fintype.{u9} m] [_inst_3 : Fintype.{u8} m'] [_inst_4 : NonUnitalNonAssocSemiring.{u7} α] [_inst_5 : NonUnitalNonAssocSemiring.{u6} β] [_inst_6 : NonUnitalNonAssocSemiring.{u5} γ] [_inst_7 : Module.{u10, u7} R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)] [_inst_8 : Module.{u10, u6} R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)] [_inst_9 : Module.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)] (f : LinearMap.{u10, u10, u7, max u5 u6} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))), (forall (a : α) (b : α) (a' : β) (b' : β), Eq.{succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (HMul.hMul.{u6, u6, u6} β β β (instHMul.{u6} β (NonUnitalNonAssocSemiring.toMul.{u6} β _inst_5)) a' b')) (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (NonUnitalNonAssocSemiring.toMul.{u7} α _inst_4)) a b)) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (succ u7) (succ u6)) (succ u5), succ u7, max (succ u6) (succ u5)} (LinearMap.{u10, u10, u7, max u5 u6} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u7, max u6 u5} R R α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) f (HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (NonUnitalNonAssocSemiring.toMul.{u7} α _inst_4)) a b)) (HMul.hMul.{u6, u6, u6} β β β (instHMul.{u6} β (NonUnitalNonAssocSemiring.toMul.{u6} β _inst_5)) a' b')) (HMul.hMul.{u5, u5, u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) b') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') (instHMul.{u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') (NonUnitalNonAssocSemiring.toMul.{u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') _inst_6)) (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) a) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (succ u7) (succ u6)) (succ u5), succ u7, max (succ u6) (succ u5)} (LinearMap.{u10, u10, u7, max u5 u6} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u7, max u6 u5} R R α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) f a) a') (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) b) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (succ u7) (succ u6)) (succ u5), succ u7, max (succ u6) (succ u5)} (LinearMap.{u10, u10, u7, max u5 u6} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u7, max u6 u5} R R α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) f b) b'))) -> (forall (A : Matrix.{u4, u9, u7} l m α) (B : Matrix.{u9, u3, u7} m n α) (A' : Matrix.{u2, u8, u6} l' m' β) (B' : Matrix.{u8, u1, u6} m' n' β), Eq.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u2, u1, u6} l' n' β) => Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.mul.{u6, u2, u8, u1} l' m' n' β _inst_3 (NonUnitalNonAssocSemiring.toMul.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) A' B')) (FunLike.coe.{max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u1)) (succ u2), max (max (succ u6) (succ u1)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u1)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u4, u3, u7} l n α) => LinearMap.{u10, u10, max (max u6 u1) u2, max (max u5 u1 u3) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (Matrix.mul.{u7, u4, u9, u3} l m n α _inst_2 (NonUnitalNonAssocSemiring.toMul.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) A B)) (Matrix.{u2, u1, u6} l' n' β) (fun (_x : Matrix.{u2, u1, u6} l' n' β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u2, u1, u6} l' n' β) => Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u6 u1) u2, max (max (max (max u5 u4) u3) u1) u2} R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (max (max (max (max (succ u7) (succ u6)) (succ u5)) (succ u1)) (succ u2)) (succ u3)) (succ u4), max (max (succ u7) (succ u3)) (succ u4), max (max (max (max (max (succ u6) (succ u5)) (succ u1)) (succ u2)) (succ u3)) (succ u4)} (LinearMap.{u10, u10, max (max u7 u3) u4, max (max (max u5 u1 u3) u2 u4) (max u6 u1) u2} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u4, u3, u7} l n α) (LinearMap.{u10, u10, max (max u6 u1) u2, max (max u5 u1 u3) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u7, u4, u3} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u2) u1, max (max (max (max u5 u4) u3) u2) u1} R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u4, u3, u10} l n R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u2) u1, max (max (max (max u5 u4) u3) u2) u1} R R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u4 u2, max u3 u1, u10, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))))) (Matrix.{u4, u3, u7} l n α) (fun (_x : Matrix.{u4, u3, u7} l n α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u4, u3, u7} l n α) => LinearMap.{u10, u10, max (max u6 u1) u2, max (max u5 u1 u3) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u7 u3) u4, max (max (max (max (max u6 u5) u1) u2) u3) u4} R R (Matrix.{u4, u3, u7} l n α) (LinearMap.{u10, u10, max (max u6 u1) u2, max (max u5 u1 u3) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u7, u4, u3} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u2) u1, max (max (max (max u5 u4) u3) u2) u1} R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u4, u3, u10} l n R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u2) u1, max (max (max (max u5 u4) u3) u2) u1} R R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u4 u2, max u3 u1, u10, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u10, u7, u6, u5, u4, u3, u2, u1} R α β γ l n l' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_7 _inst_8 _inst_9 f) (Matrix.mul.{u7, u4, u9, u3} l m n α _inst_2 (NonUnitalNonAssocSemiring.toMul.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) A B)) (Matrix.mul.{u6, u2, u8, u1} l' m' n' β _inst_3 (NonUnitalNonAssocSemiring.toMul.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) A' B')) (Matrix.mul.{u5, max u4 u2, max u9 u8, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (instFintypeProd.{u9, u8} m m' _inst_2 _inst_3) (NonUnitalNonAssocSemiring.toMul.{u5} γ _inst_6) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) (FunLike.coe.{max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u9)) (succ u8)) (succ u2), max (max (succ u6) (succ u8)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u9)) (succ u8)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u4, u9, u7} l m α) => LinearMap.{u10, u10, max (max u6 u8) u2, max (max u5 u8 u9) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) A) (Matrix.{u2, u8, u6} l' m' β) (fun (_x : Matrix.{u2, u8, u6} l' m' β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u2, u8, u6} l' m' β) => Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u6 u8) u2, max (max (max (max u5 u4) u9) u8) u2} R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (max (max (max (max (succ u7) (succ u6)) (succ u5)) (succ u8)) (succ u2)) (succ u9)) (succ u4), max (max (succ u7) (succ u9)) (succ u4), max (max (max (max (max (succ u6) (succ u5)) (succ u8)) (succ u2)) (succ u9)) (succ u4)} (LinearMap.{u10, u10, max (max u7 u9) u4, max (max (max u5 u8 u9) u2 u4) (max u6 u8) u2} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u4, u9, u7} l m α) (LinearMap.{u10, u10, max (max u6 u8) u2, max (max u5 u8 u9) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u7, u4, u9} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u2) u8, max (max (max (max u5 u4) u9) u2) u8} R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u4, u9, u10} l m R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u2) u8, max (max (max (max u5 u4) u9) u2) u8} R R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u4 u2, max u9 u8, u10, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))))) (Matrix.{u4, u9, u7} l m α) (fun (_x : Matrix.{u4, u9, u7} l m α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u4, u9, u7} l m α) => LinearMap.{u10, u10, max (max u6 u8) u2, max (max u5 u8 u9) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u7 u9) u4, max (max (max (max (max u6 u5) u8) u2) u9) u4} R R (Matrix.{u4, u9, u7} l m α) (LinearMap.{u10, u10, max (max u6 u8) u2, max (max u5 u8 u9) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u7, u4, u9} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u2) u8, max (max (max (max u5 u4) u9) u2) u8} R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u4, u9, u10} l m R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u2) u8, max (max (max (max u5 u4) u9) u2) u8} R R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u4 u2, max u9 u8, u10, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u10, u7, u6, u5, u4, u9, u2, u8} R α β γ l m l' m' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_7 _inst_8 _inst_9 f) A) A') (FunLike.coe.{max (max (max (max (max (succ u6) (succ u5)) (succ u9)) (succ u3)) (succ u1)) (succ u8), max (max (succ u6) (succ u1)) (succ u8), max (max (max (max (succ u5) (succ u9)) (succ u3)) (succ u1)) (succ u8)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u9, u3, u7} m n α) => LinearMap.{u10, u10, max (max u6 u1) u8, max (max u5 u1 u3) u8 u9} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) B) (Matrix.{u8, u1, u6} m' n' β) (fun (_x : Matrix.{u8, u1, u6} m' n' β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u8, u1, u6} m' n' β) => Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u6 u1) u8, max (max (max (max u5 u9) u3) u1) u8} R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (max (max (max (max (succ u7) (succ u6)) (succ u5)) (succ u1)) (succ u8)) (succ u3)) (succ u9), max (max (succ u7) (succ u3)) (succ u9), max (max (max (max (max (succ u6) (succ u5)) (succ u1)) (succ u8)) (succ u3)) (succ u9)} (LinearMap.{u10, u10, max (max u7 u3) u9, max (max (max u5 u1 u3) u8 u9) (max u6 u1) u8} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u9, u3, u7} m n α) (LinearMap.{u10, u10, max (max u6 u1) u8, max (max u5 u1 u3) u8 u9} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u7, u9, u3} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u8) u1, max (max (max (max u5 u9) u3) u8) u1} R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u9, u3, u10} m n R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u8) u1, max (max (max (max u5 u9) u3) u8) u1} R R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u9 u8, max u3 u1, u10, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))))) (Matrix.{u9, u3, u7} m n α) (fun (_x : Matrix.{u9, u3, u7} m n α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u9, u3, u7} m n α) => LinearMap.{u10, u10, max (max u6 u1) u8, max (max u5 u1 u3) u8 u9} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u7 u3) u9, max (max (max (max (max u6 u5) u1) u8) u3) u9} R R (Matrix.{u9, u3, u7} m n α) (LinearMap.{u10, u10, max (max u6 u1) u8, max (max u5 u1 u3) u8 u9} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u7, u9, u3} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u8) u1, max (max (max (max u5 u9) u3) u8) u1} R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u9, u3, u10} m n R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u8) u1, max (max (max (max u5 u9) u3) u8) u1} R R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u9 u8, max u3 u1, u10, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u10, u7, u6, u5, u9, u3, u8, u1} R α β γ m n m' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_7 _inst_8 _inst_9 f) B) B')))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_bilinear_mul_mul Matrix.kroneckerMapBilinear_mul_mulₓ'. -/
 /-- `matrix.kronecker_map_bilinear` commutes with `⬝` if `f` commutes with `*`.
 
@@ -361,10 +346,7 @@ theorem kroneckerMapBilinear_mul_mul [CommSemiring R] [Fintype m] [Fintype m']
 #align matrix.kronecker_map_bilinear_mul_mul Matrix.kroneckerMapBilinear_mul_mul
 
 /- warning: matrix.trace_kronecker_map_bilinear -> Matrix.trace_kroneckerMapBilinear is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u5} m] [_inst_3 : Fintype.{u6} n] [_inst_4 : AddCommMonoid.{u2} α] [_inst_5 : AddCommMonoid.{u3} β] [_inst_6 : AddCommMonoid.{u4} γ] [_inst_7 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] [_inst_8 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5] [_inst_9 : Module.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6] (f : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ _inst_6))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9))))) (A : Matrix.{u5, u5, u2} m m α) (B : Matrix.{u6, u6, u3} n n β), Eq.{succ u4} γ (Matrix.trace.{max u5 u6, u4} (Prod.{u5, u6} m n) γ (Prod.fintype.{u5, u6} m n _inst_2 _inst_3) _inst_6 (coeFn.{max (succ (max u6 u3)) (succ (max (max u5 u6) u4)), max (succ (max u6 u3)) (succ (max (max u5 u6) u4))} (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)) (fun (_x : LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)) => (Matrix.{u6, u6, u3} n n β) -> (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ)) (LinearMap.hasCoeToFun.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u5 u2)) (succ (max (max u6 u3) (max u5 u6) u4)), max (succ (max u5 u2)) (succ (max (max u6 u3) (max u5 u6) u4))} (LinearMap.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)) (Matrix.addCommMonoid.{u2, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_7) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 _inst_6 _inst_9))) (fun (_x : LinearMap.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)) (Matrix.addCommMonoid.{u2, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_7) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 _inst_6 _inst_9))) => (Matrix.{u5, u5, u2} m m α) -> (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9))) (LinearMap.hasCoeToFun.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u2, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_7) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 _inst_6 _inst_9)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u1, u2, u3, u4, u5, u5, u6, u6} R α β γ m m n n _inst_1 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) A) B)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ _inst_6))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ _inst_6))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ _inst_6))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (Matrix.trace.{u5, u2} m α _inst_2 _inst_4 A)) (Matrix.trace.{u6, u3} n β _inst_3 _inst_5 B))
-but is expected to have type
-  forall {R : Type.{u6}} {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {m : Type.{u5}} {n : Type.{u4}} [_inst_1 : CommSemiring.{u6} R] [_inst_2 : Fintype.{u5} m] [_inst_3 : Fintype.{u4} n] [_inst_4 : AddCommMonoid.{u3} α] [_inst_5 : AddCommMonoid.{u2} β] [_inst_6 : AddCommMonoid.{u1} γ] [_inst_7 : Module.{u6, u3} R α (CommSemiring.toSemiring.{u6} R _inst_1) _inst_4] [_inst_8 : Module.{u6, u2} R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5] [_inst_9 : Module.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6] (f : LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9))))) (A : Matrix.{u5, u5, u3} m m α) (B : Matrix.{u4, u4, u2} n n β), Eq.{succ u1} γ (Matrix.trace.{max u5 u4, u1} (Prod.{u5, u4} m n) γ (instFintypeProd.{u5, u4} m n _inst_2 _inst_3) _inst_6 (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u5)) (succ u4), max (succ u2) (succ u4), max (max (succ u1) (succ u5)) (succ u4)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u5, u5, u3} m m α) => LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)) A) (Matrix.{u4, u4, u2} n n β) (fun (_x : Matrix.{u4, u4, u2} n n β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u4, u4, u2} n n β) => Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (max (max (succ u3) (succ u2)) (succ u1)) (succ u4)) (succ u5), max (succ u3) (succ u5), max (max (max (succ u2) (succ u1)) (succ u4)) (succ u5)} (LinearMap.{u6, u6, max u3 u5, max (max u1 u4 u5) u2 u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u5, u5, u3} m m α) (LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)) (Matrix.addCommMonoid.{u3, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.module.{u3, u5, u5, u6} m m R α (CommSemiring.toSemiring.{u6} R _inst_1) _inst_4 _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, max u2 u4, max (max u1 u5) u4} R R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (Matrix.smulCommClass.{u1, max u5 u4, max u5 u4, u6, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R R γ (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))))) (Matrix.{u5, u5, u3} m m α) (fun (_x : Matrix.{u5, u5, u3} m m α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u5, u5, u3} m m α) => LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, max u3 u5, max (max (max u2 u1) u4) u5} R R (Matrix.{u5, u5, u3} m m α) (LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u3, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.module.{u3, u5, u5, u6} m m R α (CommSemiring.toSemiring.{u6} R _inst_1) _inst_4 _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, max u2 u4, max (max u1 u5) u4} R R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (Matrix.smulCommClass.{u1, max u5 u4, max u5 u4, u6, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R R γ (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9))))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u6, u3, u2, u1, u5, u5, u4, u4} R α β γ m m n n _inst_1 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) A) B)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) (Matrix.trace.{u5, u3} m α _inst_2 _inst_4 A)) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_4 (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f (Matrix.trace.{u5, u3} m α _inst_2 _inst_4 A)) (Matrix.trace.{u4, u2} n β _inst_3 _inst_5 B))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.trace_kronecker_map_bilinear Matrix.trace_kroneckerMapBilinearₓ'. -/
 /-- `trace` distributes over `matrix.kronecker_map_bilinear`.
 
@@ -378,10 +360,7 @@ theorem trace_kroneckerMapBilinear [CommSemiring R] [Fintype m] [Fintype n] [Add
 #align matrix.trace_kronecker_map_bilinear Matrix.trace_kroneckerMapBilinear
 
 /- warning: matrix.det_kronecker_map_bilinear -> Matrix.det_kroneckerMapBilinear is a dubious translation:
-lean 3 declaration is
-  forall {R : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u5} m] [_inst_3 : Fintype.{u6} n] [_inst_4 : DecidableEq.{succ u5} m] [_inst_5 : DecidableEq.{succ u6} n] [_inst_6 : CommRing.{u2} α] [_inst_7 : CommRing.{u3} β] [_inst_8 : CommRing.{u4} γ] [_inst_9 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6)))))] [_inst_10 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))] [_inst_11 : Module.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))] (f : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))), (forall (a : α) (b : α) (a' : β) (b' : β), Eq.{succ u4} γ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (HMul.hMul.{u2, u2, u2} α α α (instHMul.{u2} α (Distrib.toHasMul.{u2} α (Ring.toDistrib.{u2} α (CommRing.toRing.{u2} α _inst_6)))) a b)) (HMul.hMul.{u3, u3, u3} β β β (instHMul.{u3} β (Distrib.toHasMul.{u3} β (Ring.toDistrib.{u3} β (CommRing.toRing.{u3} β _inst_7)))) a' b')) (HMul.hMul.{u4, u4, u4} γ γ γ (instHMul.{u4} γ (Distrib.toHasMul.{u4} γ (Ring.toDistrib.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f a) a') (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f b) b'))) -> (forall (A : Matrix.{u5, u5, u2} m m α) (B : Matrix.{u6, u6, u3} n n β), Eq.{succ u4} γ (Matrix.det.{u4, max u5 u6} (Prod.{u5, u6} m n) (fun (a : Prod.{u5, u6} m n) (b : Prod.{u5, u6} m n) => Prod.Lex.decidableEq.{u5, u6} m n (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) a b) (Prod.fintype.{u5, u6} m n _inst_2 _inst_3) γ _inst_8 (coeFn.{max (succ (max u6 u3)) (succ (max (max u5 u6) u4)), max (succ (max u6 u3)) (succ (max (max u5 u6) u4))} (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) (fun (_x : LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) => (Matrix.{u6, u6, u3} n n β) -> (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ)) (LinearMap.hasCoeToFun.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u5 u2)) (succ (max (max u6 u3) (max u5 u6) u4)), max (succ (max u5 u2)) (succ (max (max u6 u3) (max u5 u6) u4))} (LinearMap.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) (Matrix.addCommMonoid.{u2, u5, u5} m m α (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6)))))) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) _inst_9) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))) (fun (_x : LinearMap.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) (Matrix.addCommMonoid.{u2, u5, u5} m m α (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6)))))) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) _inst_9) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))) => (Matrix.{u5, u5, u2} m m α) -> (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))) (LinearMap.hasCoeToFun.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u2, u5, u5} m m α (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6)))))) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) _inst_9) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u1, u2, u3, u4, u5, u5, u6, u6} R α β γ m m n n _inst_1 (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_9 _inst_10 _inst_11 f) A) B)) (HMul.hMul.{u4, u4, u4} γ γ γ (instHMul.{u4} γ (Distrib.toHasMul.{u4} γ (Ring.toDistrib.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))) (HPow.hPow.{u4, 0, u4} γ Nat γ (instHPow.{u4, 0} γ Nat (Monoid.Pow.{u4} γ (Ring.toMonoid.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))) (Matrix.det.{u4, u5} m (fun (a : m) (b : m) => _inst_4 a b) _inst_2 γ _inst_8 (Matrix.map.{u2, u4, u5, u5} m m α γ A (fun (a : α) => coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f a) (OfNat.ofNat.{u3} β 1 (OfNat.mk.{u3} β 1 (One.one.{u3} β (AddMonoidWithOne.toOne.{u3} β (AddGroupWithOne.toAddMonoidWithOne.{u3} β (AddCommGroupWithOne.toAddGroupWithOne.{u3} β (Ring.toAddCommGroupWithOne.{u3} β (CommRing.toRing.{u3} β _inst_7))))))))))) (Fintype.card.{u6} n _inst_3)) (HPow.hPow.{u4, 0, u4} γ Nat γ (instHPow.{u4, 0} γ Nat (Monoid.Pow.{u4} γ (Ring.toMonoid.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))) (Matrix.det.{u4, u6} n (fun (a : n) (b : n) => _inst_5 a b) _inst_3 γ _inst_8 (Matrix.map.{u3, u4, u6, u6} n n β γ B (fun (b : β) => coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (AddMonoidWithOne.toOne.{u2} α (AddGroupWithOne.toAddMonoidWithOne.{u2} α (AddCommGroupWithOne.toAddGroupWithOne.{u2} α (Ring.toAddCommGroupWithOne.{u2} α (CommRing.toRing.{u2} α _inst_6))))))))) b))) (Fintype.card.{u5} m _inst_2))))
-but is expected to have type
-  forall {R : Type.{u6}} {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {m : Type.{u5}} {n : Type.{u4}} [_inst_1 : CommSemiring.{u6} R] [_inst_2 : Fintype.{u5} m] [_inst_3 : Fintype.{u4} n] [_inst_4 : DecidableEq.{succ u5} m] [_inst_5 : DecidableEq.{succ u4} n] [_inst_6 : CommRing.{u3} α] [_inst_7 : CommRing.{u2} β] [_inst_8 : CommRing.{u1} γ] [_inst_9 : Module.{u6, u3} R α (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6)))))] [_inst_10 : Module.{u6, u2} R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))] [_inst_11 : Module.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))] (f : LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))), (forall (a : α) (b : α) (a' : β) (b' : β), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β (NonUnitalNonAssocRing.toMul.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) a' b')) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (HMul.hMul.{u3, u3, u3} α α α (instHMul.{u3} α (NonUnitalNonAssocRing.toMul.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) a b)) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f (HMul.hMul.{u3, u3, u3} α α α (instHMul.{u3} α (NonUnitalNonAssocRing.toMul.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) a b)) (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β (NonUnitalNonAssocRing.toMul.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) a' b')) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) b') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') (NonUnitalNonAssocRing.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') (NonAssocRing.toNonUnitalNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) a) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f a) a') (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) b) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f b) b'))) -> (forall (A : Matrix.{u5, u5, u3} m m α) (B : Matrix.{u4, u4, u2} n n β), Eq.{succ u1} γ (Matrix.det.{u1, max u5 u4} (Prod.{u5, u4} m n) (fun (a : Prod.{u5, u4} m n) (b : Prod.{u5, u4} m n) => instDecidableEqProd.{u5, u4} m n (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) a b) (instFintypeProd.{u5, u4} m n _inst_2 _inst_3) γ _inst_8 (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u5)) (succ u4), max (succ u2) (succ u4), max (max (succ u1) (succ u5)) (succ u4)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u5, u5, u3} m m α) => LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)) A) (Matrix.{u4, u4, u2} n n β) (fun (_x : Matrix.{u4, u4, u2} n n β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u4, u4, u2} n n β) => Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (max (max (succ u3) (succ u2)) (succ u1)) (succ u4)) (succ u5), max (succ u3) (succ u5), max (max (max (succ u2) (succ u1)) (succ u4)) (succ u5)} (LinearMap.{u6, u6, max u3 u5, max (max u1 u4 u5) u2 u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u5, u5, u3} m m α) (LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)) (Matrix.addCommMonoid.{u3, u5, u5} m m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6)))))) (LinearMap.addCommMonoid.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.module.{u3, u5, u5, u6} m m R α (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) _inst_9) (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, max u2 u4, max (max u1 u5) u4} R R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (Matrix.smulCommClass.{u1, max u5 u4, max u5 u4, u6, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R R γ (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))))) (Matrix.{u5, u5, u3} m m α) (fun (_x : Matrix.{u5, u5, u3} m m α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u5, u5, u3} m m α) => LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, max u3 u5, max (max (max u2 u1) u4) u5} R R (Matrix.{u5, u5, u3} m m α) (LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u3, u5, u5} m m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6)))))) (LinearMap.addCommMonoid.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.module.{u3, u5, u5, u6} m m R α (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) _inst_9) (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, max u2 u4, max (max u1 u5) u4} R R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (Matrix.smulCommClass.{u1, max u5 u4, max u5 u4, u6, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R R γ (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u6, u3, u2, u1, u5, u5, u4, u4} R α β γ m m n n _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_9 _inst_10 _inst_11 f) A) B)) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) γ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (NonUnitalNonAssocRing.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (NonAssocRing.toNonUnitalNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) _inst_8))))) (HPow.hPow.{u1, 0, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) Nat ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (instHPow.{u1, 0} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) Nat (Monoid.Pow.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (MonoidWithZero.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) _inst_8)))))) (Matrix.det.{u1, u5} m (fun (a : m) (b : m) => _inst_4 a b) _inst_2 ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) _inst_8 (Matrix.map.{u3, u1, u5, u5} m m α ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) A (fun (a : α) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) a) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f a) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))))) (Fintype.card.{u4} n _inst_3)) (HPow.hPow.{u1, 0, u1} γ Nat γ (instHPow.{u1, 0} γ Nat (Monoid.Pow.{u1} γ (MonoidWithZero.toMonoid.{u1} γ (Semiring.toMonoidWithZero.{u1} γ (CommSemiring.toSemiring.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8)))))) (Matrix.det.{u1, u4} n (fun (a : n) (b : n) => _inst_5 a b) _inst_3 γ _inst_8 (Matrix.map.{u2, u1, u4, u4} n n β γ B (fun (b : β) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (OfNat.ofNat.{u3} α 1 (One.toOfNat1.{u3} α (Semiring.toOne.{u3} α (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_6)))))) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f (OfNat.ofNat.{u3} α 1 (One.toOfNat1.{u3} α (Semiring.toOne.{u3} α (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_6)))))) b))) (Fintype.card.{u5} m _inst_2))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.det_kronecker_map_bilinear Matrix.det_kroneckerMapBilinearₓ'. -/
 /-- `determinant` of `matrix.kronecker_map_bilinear`.
 
@@ -591,10 +570,7 @@ theorem one_kronecker [MulZeroOneClass α] [DecidableEq l] (B : Matrix m n α) :
 #align matrix.one_kronecker Matrix.one_kronecker
 
 /- warning: matrix.mul_kronecker_mul -> Matrix.mul_kronecker_mul is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} {l' : Type.{u5}} {m' : Type.{u6}} {n' : Type.{u7}} [_inst_1 : Fintype.{u3} m] [_inst_2 : Fintype.{u6} m'] [_inst_3 : CommSemiring.{u1} α] (A : Matrix.{u2, u3, u1} l m α) (B : Matrix.{u3, u4, u1} m n α) (A' : Matrix.{u5, u6, u1} l' m' α) (B' : Matrix.{u6, u7, u1} m' n' α), Eq.{succ (max (max u2 u5) (max u4 u7) u1)} (Matrix.{max u2 u5, max u4 u7, u1} (Prod.{u2, u5} l l') (Prod.{u4, u7} n n') α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u4, u5, u7} α α α l n l' n' (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3))))))) (Matrix.mul.{u1, u2, u3, u4} l m n α _inst_1 (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3)))) A B) (Matrix.mul.{u1, u5, u6, u7} l' m' n' α _inst_2 (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3)))) A' B')) (Matrix.mul.{u1, max u2 u5, max u3 u6, max u4 u7} (Prod.{u2, u5} l l') (Prod.{u3, u6} m m') (Prod.{u4, u7} n n') α (Prod.fintype.{u3, u6} m m' _inst_1 _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3)))) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u5, u6} α α α l m l' m' (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3))))))) A A') (Matrix.kroneckerMap.{u1, u1, u1, u3, u4, u6, u7} α α α m n m' n' (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3))))))) B B'))
-but is expected to have type
-  forall {α : Type.{u5}} {l : Type.{u4}} {m : Type.{u7}} {n : Type.{u3}} {l' : Type.{u2}} {m' : Type.{u6}} {n' : Type.{u1}} [_inst_1 : Fintype.{u7} m] [_inst_2 : Fintype.{u6} m'] [_inst_3 : CommSemiring.{u5} α] (A : Matrix.{u4, u7, u5} l m α) (B : Matrix.{u7, u3, u5} m n α) (A' : Matrix.{u2, u6, u5} l' m' α) (B' : Matrix.{u6, u1, u5} m' n' α), Eq.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') α) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l n l' n' (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4392 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4394 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (NonUnitalNonAssocSemiring.toMul.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3))))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4392 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4394) (Matrix.mul.{u5, u4, u7, u3} l m n α _inst_1 (NonUnitalNonAssocSemiring.toMul.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3)))) A B) (Matrix.mul.{u5, u2, u6, u1} l' m' n' α _inst_2 (NonUnitalNonAssocSemiring.toMul.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3)))) A' B')) (Matrix.mul.{u5, max u2 u4, max u6 u7, max u1 u3} (Prod.{u4, u2} l l') (Prod.{u7, u6} m m') (Prod.{u3, u1} n n') α (instFintypeProd.{u7, u6} m m' _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3)))) (Matrix.kroneckerMap.{u5, u5, u5, u4, u7, u2, u6} α α α l m l' m' (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4427 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4429 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (NonUnitalNonAssocSemiring.toMul.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3))))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4427 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4429) A A') (Matrix.kroneckerMap.{u5, u5, u5, u7, u3, u6, u1} α α α m n m' n' (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4448 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4450 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (NonUnitalNonAssocSemiring.toMul.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3))))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4448 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4450) B B'))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.mul_kronecker_mul Matrix.mul_kronecker_mulₓ'. -/
 theorem mul_kronecker_mul [Fintype m] [Fintype m'] [CommSemiring α] (A : Matrix l m α)
     (B : Matrix m n α) (A' : Matrix l' m' α) (B' : Matrix m' n' α) :
@@ -713,10 +689,7 @@ scoped[Kronecker]
   notation:100 x " ⊗ₖₜ[" R "] " y:100 => Matrix.kroneckerMap (TensorProduct.tmul R) x y
 
 /- warning: matrix.kronecker_tmul_apply -> Matrix.kroneckerTMul_apply is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_3 : AddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] (A : Matrix.{u4, u5, u2} l m α) (B : Matrix.{u6, u7, u3} n p β) (i₁ : l) (i₂ : n) (j₁ : m) (j₂ : p), Eq.{succ (max u2 u3)} (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u4, u5, u6, u7} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (fun (_x : α) (_y : β) => TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6 _x _y) A B (Prod.mk.{u4, u6} l n i₁ i₂) (Prod.mk.{u5, u7} m p j₁ j₂)) (TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6 (A i₁ j₁) (B i₂ j₂))
-but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u5}} {β : Type.{u2}} {l : Type.{u7}} {m : Type.{u6}} {n : Type.{u4}} {p : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u5} α] [_inst_3 : AddCommMonoid.{u2} β] [_inst_5 : Module.{u1, u5} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u2} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] (A : Matrix.{u7, u6, u5} l m α) (B : Matrix.{u4, u3, u2} n p β) (i₁ : l) (i₂ : n) (j₁ : m) (j₂ : p), Eq.{max (succ u5) (succ u2)} (TensorProduct.{u1, u5, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (Matrix.kroneckerMap.{u5, u2, max u2 u5, u7, u6, u4, u3} α β (TensorProduct.{u1, u5, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (fun (_x : α) (_y : β) => TensorProduct.tmul.{u1, u5, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6 _x _y) A B (Prod.mk.{u7, u4} l n i₁ i₂) (Prod.mk.{u6, u3} m p j₁ j₂)) (TensorProduct.tmul.{u1, u5, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6 (A i₁ j₁) (B i₂ j₂))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_apply Matrix.kroneckerTMul_applyₓ'. -/
 @[simp]
 theorem kroneckerTMul_apply (A : Matrix l m α) (B : Matrix n p β) (i₁ i₂ j₁ j₂) :
@@ -725,10 +698,7 @@ theorem kroneckerTMul_apply (A : Matrix l m α) (B : Matrix n p β) (i₁ i₂ j
 #align matrix.kronecker_tmul_apply Matrix.kroneckerTMul_apply
 
 /- warning: matrix.kronecker_tmul_bilinear -> Matrix.kroneckerTMulBilinear is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_3 : AddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3], LinearMap.{u1, u1, max u4 u5 u2, max (max u6 u7 u3) (max u4 u6) (max u5 u7) u2 u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u4, u5, u2} l m α) (LinearMap.{u1, u1, max u6 u7 u3, max (max u4 u6) (max u5 u7) u2 u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u7, u3} n p β) (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.addCommMonoid.{u3, u6, u7} n p β _inst_3) (Matrix.addCommMonoid.{max u2 u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.module.{u3, u6, u7, u1} n p R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 _inst_6) (Matrix.module.{max u2 u3, max u4 u6, max u5 u7, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6))) (Matrix.addCommMonoid.{u2, u4, u5} l m α _inst_2) (LinearMap.addCommMonoid.{u1, u1, max u6 u7 u3, max (max u4 u6) (max u5 u7) u2 u3} R R (Matrix.{u6, u7, u3} n p β) (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u7} n p β _inst_3) (Matrix.addCommMonoid.{max u2 u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.module.{u3, u6, u7, u1} n p R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 _inst_6) (Matrix.module.{max u2 u3, max u4 u6, max u5 u7, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u4, u5, u1} l m R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_5) (LinearMap.module.{u1, u1, u1, max u6 u7 u3, max (max u4 u6) (max u5 u7) u2 u3} R R R (Matrix.{u6, u7, u3} n p β) (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u7} n p β _inst_3) (Matrix.addCommMonoid.{max u2 u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.module.{u3, u6, u7, u1} n p R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 _inst_6) (Matrix.module.{max u2 u3, max u4 u6, max u5 u7, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{max u2 u3, max u4 u6, max u5 u7, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.kroneckerTMulBilinear._proof_1.{u1, u6, u7, u2, u3, u4, u5} R α β l m n p _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))
-but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_3 : AddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3], LinearMap.{u1, u1, max (max u2 u5) u4, max (max (max (max u3 u2) u7 u5) u6 u4) (max u3 u7) u6} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u4, u5, u2} l m α) (LinearMap.{u1, u1, max (max u3 u7) u6, max (max (max u3 u2) u7 u5) u6 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u7, u3} n p β) (Matrix.{max u6 u4, max u7 u5, max u3 u2} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.addCommMonoid.{u3, u6, u7} n p β _inst_3) (Matrix.addCommMonoid.{max u2 u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.module.{u3, u6, u7, u1} n p R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 _inst_6) (Matrix.module.{max u2 u3, max u4 u6, max u5 u7, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6))) (Matrix.addCommMonoid.{u2, u4, u5} l m α _inst_2) (LinearMap.addCommMonoid.{u1, u1, max (max u3 u6) u7, max (max (max (max (max u2 u3) u4) u5) u6) u7} R R (Matrix.{u6, u7, u3} n p β) (Matrix.{max u6 u4, max u7 u5, max u3 u2} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u7} n p β _inst_3) (Matrix.addCommMonoid.{max u2 u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.module.{u3, u6, u7, u1} n p R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 _inst_6) (Matrix.module.{max u2 u3, max u4 u6, max u5 u7, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u4, u5, u1} l m R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_5) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max (max u3 u6) u7, max (max (max (max (max u2 u3) u4) u5) u6) u7} R R R (Matrix.{u6, u7, u3} n p β) (Matrix.{max u6 u4, max u7 u5, max u3 u2} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u7} n p β _inst_3) (Matrix.addCommMonoid.{max u2 u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.module.{u3, u6, u7, u1} n p R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 _inst_6) (Matrix.module.{max u2 u3, max u4 u6, max u5 u7, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{max u2 u3, max u4 u6, max u5 u7, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.smulCommClass.{max u2 u3, max u4 u6, max u5 u7, u1, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.instSMulTensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.instSMulTensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (smulCommClass_self.{u1, max u2 u3} R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, max u2 u3} R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{max u2 u3} (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (AddCommMonoid.toAddMonoid.{max u2 u3} (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6))) (Module.toMulActionWithZero.{u1, max u2 u3} R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_bilinear Matrix.kroneckerTMulBilinearₓ'. -/
 /-- `matrix.kronecker` as a bilinear map. -/
 def kroneckerTMulBilinear :
@@ -741,10 +711,7 @@ hypotheses which can be filled by properties of `⊗ₜ`. -/
 
 
 /- warning: matrix.zero_kronecker_tmul -> Matrix.zero_kroneckerTMul is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_3 : AddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] (B : Matrix.{u6, u7, u3} n p β), Eq.{succ (max (max u4 u6) (max u5 u7) u2 u3)} (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u4, u5, u6, u7} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (OfNat.ofNat.{max u4 u5 u2} (Matrix.{u4, u5, u2} l m α) 0 (OfNat.mk.{max u4 u5 u2} (Matrix.{u4, u5, u2} l m α) 0 (Zero.zero.{max u4 u5 u2} (Matrix.{u4, u5, u2} l m α) (Matrix.hasZero.{u2, u4, u5} l m α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))))))) B) (OfNat.ofNat.{max (max u4 u6) (max u5 u7) u2 u3} (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) 0 (OfNat.mk.{max (max u4 u6) (max u5 u7) u2 u3} (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) 0 (Zero.zero.{max (max u4 u6) (max u5 u7) u2 u3} (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.hasZero.{max u2 u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (AddZeroClass.toHasZero.{max u2 u3} (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addZeroClass.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6))))))
-but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u4}} {β : Type.{u5}} {l : Type.{u3}} {m : Type.{u2}} {n : Type.{u7}} {p : Type.{u6}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u4} α] [_inst_3 : AddCommMonoid.{u5} β] [_inst_5 : Module.{u1, u4} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u5} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] (B : Matrix.{u7, u6, u5} n p β), Eq.{max (max (max (max (max (succ u4) (succ u5)) (succ u3)) (succ u2)) (succ u7)) (succ u6)} (Matrix.{max u7 u3, max u6 u2, max u5 u4} (Prod.{u3, u7} l n) (Prod.{u2, u6} m p) (TensorProduct.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.kroneckerMap.{u4, u5, max u5 u4, u3, u2, u7, u6} α β (TensorProduct.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (OfNat.ofNat.{max (max u4 u3) u2} (Matrix.{u3, u2, u4} l m α) 0 (Zero.toOfNat0.{max (max u4 u3) u2} (Matrix.{u3, u2, u4} l m α) (Matrix.zero.{u4, u3, u2} l m α (AddMonoid.toZero.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2))))) B) (OfNat.ofNat.{max (max (max (max (max u4 u5) u3) u2) u7) u6} (Matrix.{max u7 u3, max u6 u2, max u5 u4} (Prod.{u3, u7} l n) (Prod.{u2, u6} m p) (TensorProduct.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) 0 (Zero.toOfNat0.{max (max (max (max (max u4 u5) u3) u2) u7) u6} (Matrix.{max u7 u3, max u6 u2, max u5 u4} (Prod.{u3, u7} l n) (Prod.{u2, u6} m p) (TensorProduct.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.zero.{max u4 u5, max u3 u7, max u2 u6} (Prod.{u3, u7} l n) (Prod.{u2, u6} m p) (TensorProduct.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (AddMonoid.toZero.{max u4 u5} (TensorProduct.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (AddCommMonoid.toAddMonoid.{max u4 u5} (TensorProduct.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.zero_kronecker_tmul Matrix.zero_kroneckerTMulₓ'. -/
 @[simp]
 theorem zero_kroneckerTMul (B : Matrix n p β) : (0 : Matrix l m α) ⊗ₖₜ[R] B = 0 :=
@@ -752,10 +719,7 @@ theorem zero_kroneckerTMul (B : Matrix n p β) : (0 : Matrix l m α) ⊗ₖₜ[R
 #align matrix.zero_kronecker_tmul Matrix.zero_kroneckerTMul
 
 /- warning: matrix.kronecker_tmul_zero -> Matrix.kroneckerTMul_zero is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_3 : AddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] (A : Matrix.{u4, u5, u2} l m α), Eq.{succ (max (max u4 u6) (max u5 u7) u2 u3)} (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u4, u5, u6, u7} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A (OfNat.ofNat.{max u6 u7 u3} (Matrix.{u6, u7, u3} n p β) 0 (OfNat.mk.{max u6 u7 u3} (Matrix.{u6, u7, u3} n p β) 0 (Zero.zero.{max u6 u7 u3} (Matrix.{u6, u7, u3} n p β) (Matrix.hasZero.{u3, u6, u7} n p β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β _inst_3)))))))) (OfNat.ofNat.{max (max u4 u6) (max u5 u7) u2 u3} (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) 0 (OfNat.mk.{max (max u4 u6) (max u5 u7) u2 u3} (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) 0 (Zero.zero.{max (max u4 u6) (max u5 u7) u2 u3} (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.hasZero.{max u2 u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (AddZeroClass.toHasZero.{max u2 u3} (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addZeroClass.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6))))))
-but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u5}} {β : Type.{u4}} {l : Type.{u7}} {m : Type.{u6}} {n : Type.{u3}} {p : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u5} α] [_inst_3 : AddCommMonoid.{u4} β] [_inst_5 : Module.{u1, u5} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u4} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] (A : Matrix.{u7, u6, u5} l m α), Eq.{max (max (max (max (max (succ u5) (succ u4)) (succ u7)) (succ u6)) (succ u3)) (succ u2)} (Matrix.{max u3 u7, max u2 u6, max u4 u5} (Prod.{u7, u3} l n) (Prod.{u6, u2} m p) (TensorProduct.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.kroneckerMap.{u5, u4, max u4 u5, u7, u6, u3, u2} α β (TensorProduct.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A (OfNat.ofNat.{max (max u4 u3) u2} (Matrix.{u3, u2, u4} n p β) 0 (Zero.toOfNat0.{max (max u4 u3) u2} (Matrix.{u3, u2, u4} n p β) (Matrix.zero.{u4, u3, u2} n p β (AddMonoid.toZero.{u4} β (AddCommMonoid.toAddMonoid.{u4} β _inst_3)))))) (OfNat.ofNat.{max (max (max (max (max u5 u4) u7) u6) u3) u2} (Matrix.{max u3 u7, max u2 u6, max u4 u5} (Prod.{u7, u3} l n) (Prod.{u6, u2} m p) (TensorProduct.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) 0 (Zero.toOfNat0.{max (max (max (max (max u5 u4) u7) u6) u3) u2} (Matrix.{max u3 u7, max u2 u6, max u4 u5} (Prod.{u7, u3} l n) (Prod.{u6, u2} m p) (TensorProduct.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.zero.{max u5 u4, max u7 u3, max u6 u2} (Prod.{u7, u3} l n) (Prod.{u6, u2} m p) (TensorProduct.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (AddMonoid.toZero.{max u5 u4} (TensorProduct.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (AddCommMonoid.toAddMonoid.{max u5 u4} (TensorProduct.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_zero Matrix.kroneckerTMul_zeroₓ'. -/
 @[simp]
 theorem kroneckerTMul_zero (A : Matrix l m α) : A ⊗ₖₜ[R] (0 : Matrix n p β) = 0 :=
@@ -763,10 +727,7 @@ theorem kroneckerTMul_zero (A : Matrix l m α) : A ⊗ₖₜ[R] (0 : Matrix n p
 #align matrix.kronecker_tmul_zero Matrix.kroneckerTMul_zero
 
 /- warning: matrix.add_kronecker_tmul -> Matrix.add_kroneckerTMul is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} {p : Type.{u6}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (A₁ : Matrix.{u3, u4, u2} l m α) (A₂ : Matrix.{u3, u4, u2} l m α) (B : Matrix.{u5, u6, u2} n p α), Eq.{succ (max (max u3 u5) (max u4 u6) u2)} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (HAdd.hAdd.{max u3 u4 u2, max u3 u4 u2, max u3 u4 u2} (Matrix.{u3, u4, u2} l m α) (Matrix.{u3, u4, u2} l m α) (Matrix.{u3, u4, u2} l m α) (instHAdd.{max u3 u4 u2} (Matrix.{u3, u4, u2} l m α) (Matrix.hasAdd.{u2, u3, u4} l m α (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))))) A₁ A₂) B) (HAdd.hAdd.{max (max u3 u5) (max u4 u6) u2, max (max u3 u5) (max u4 u6) u2, max (max u3 u5) (max u4 u6) u2} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (instHAdd.{max (max u3 u5) (max u4 u6) u2} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.hasAdd.{u2, max u3 u5, max u4 u6} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (AddZeroClass.toHasAdd.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addZeroClass.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)))) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A₁ B) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A₂ B))
-but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u4}} {l : Type.{u6}} {m : Type.{u5}} {n : Type.{u3}} {p : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u4} α] [_inst_5 : Module.{u1, u4} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (A₁ : Matrix.{u6, u5, u4} l m α) (A₂ : Matrix.{u6, u5, u4} l m α) (B : Matrix.{u3, u2, u4} n p α), Eq.{max (max (max (max (succ u4) (succ u6)) (succ u5)) (succ u3)) (succ u2)} (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (HAdd.hAdd.{max (max u4 u6) u5, max (max u4 u6) u5, max (max u4 u6) u5} (Matrix.{u6, u5, u4} l m α) (Matrix.{u6, u5, u4} l m α) (Matrix.{u6, u5, u4} l m α) (instHAdd.{max (max u4 u6) u5} (Matrix.{u6, u5, u4} l m α) (Matrix.add.{u4, u6, u5} l m α (AddZeroClass.toAdd.{u4} α (AddMonoid.toAddZeroClass.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2))))) A₁ A₂) B) (HAdd.hAdd.{max (max (max (max u4 u6) u5) u3) u2, max (max (max (max u4 u6) u5) u3) u2, max (max (max (max u4 u6) u5) u3) u2} (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (instHAdd.{max (max (max (max u4 u6) u5) u3) u2} (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.add.{u4, max u6 u3, max u5 u2} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (AddZeroClass.toAdd.{u4} (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addZeroClass.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)))) (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A₁ B) (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A₂ B))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.add_kronecker_tmul Matrix.add_kroneckerTMulₓ'. -/
 theorem add_kroneckerTMul (A₁ A₂ : Matrix l m α) (B : Matrix n p α) :
     (A₁ + A₂) ⊗ₖₜ[R] B = A₁ ⊗ₖₜ B + A₂ ⊗ₖₜ B :=
@@ -774,10 +735,7 @@ theorem add_kroneckerTMul (A₁ A₂ : Matrix l m α) (B : Matrix n p α) :
 #align matrix.add_kronecker_tmul Matrix.add_kroneckerTMul
 
 /- warning: matrix.kronecker_tmul_add -> Matrix.kroneckerTMul_add is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} {p : Type.{u6}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (A : Matrix.{u3, u4, u2} l m α) (B₁ : Matrix.{u5, u6, u2} n p α) (B₂ : Matrix.{u5, u6, u2} n p α), Eq.{succ (max (max u3 u5) (max u4 u6) u2)} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) A (HAdd.hAdd.{max u5 u6 u2, max u5 u6 u2, max u5 u6 u2} (Matrix.{u5, u6, u2} n p α) (Matrix.{u5, u6, u2} n p α) (Matrix.{u5, u6, u2} n p α) (instHAdd.{max u5 u6 u2} (Matrix.{u5, u6, u2} n p α) (Matrix.hasAdd.{u2, u5, u6} n p α (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))))) B₁ B₂)) (HAdd.hAdd.{max (max u3 u5) (max u4 u6) u2, max (max u3 u5) (max u4 u6) u2, max (max u3 u5) (max u4 u6) u2} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (instHAdd.{max (max u3 u5) (max u4 u6) u2} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.hasAdd.{u2, max u3 u5, max u4 u6} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (AddZeroClass.toHasAdd.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addZeroClass.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)))) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A B₁) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A B₂))
-but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u4}} {l : Type.{u6}} {m : Type.{u5}} {n : Type.{u3}} {p : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u4} α] [_inst_5 : Module.{u1, u4} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (A : Matrix.{u6, u5, u4} l m α) (B₁ : Matrix.{u3, u2, u4} n p α) (B₂ : Matrix.{u3, u2, u4} n p α), Eq.{max (max (max (max (succ u4) (succ u6)) (succ u5)) (succ u3)) (succ u2)} (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) A (HAdd.hAdd.{max (max u4 u3) u2, max (max u4 u3) u2, max (max u4 u3) u2} (Matrix.{u3, u2, u4} n p α) (Matrix.{u3, u2, u4} n p α) (Matrix.{u3, u2, u4} n p α) (instHAdd.{max (max u4 u3) u2} (Matrix.{u3, u2, u4} n p α) (Matrix.add.{u4, u3, u2} n p α (AddZeroClass.toAdd.{u4} α (AddMonoid.toAddZeroClass.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2))))) B₁ B₂)) (HAdd.hAdd.{max (max (max (max u4 u6) u5) u3) u2, max (max (max (max u4 u6) u5) u3) u2, max (max (max (max u4 u6) u5) u3) u2} (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (instHAdd.{max (max (max (max u4 u6) u5) u3) u2} (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.add.{u4, max u6 u3, max u5 u2} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (AddZeroClass.toAdd.{u4} (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addZeroClass.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)))) (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A B₁) (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A B₂))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_add Matrix.kroneckerTMul_addₓ'. -/
 theorem kroneckerTMul_add (A : Matrix l m α) (B₁ B₂ : Matrix n p α) :
     A ⊗ₖₜ[R] (B₁ + B₂) = A ⊗ₖₜ B₁ + A ⊗ₖₜ B₂ :=
@@ -842,10 +800,7 @@ theorem diagonal_kroneckerTMul [DecidableEq l] (a : l → α) (B : Matrix m n α
 #align matrix.diagonal_kronecker_tmul Matrix.diagonal_kroneckerTMul
 
 /- warning: matrix.kronecker_tmul_assoc -> Matrix.kroneckerTMul_assoc is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {p : Type.{u8}} {q : Type.{u9}} {r : Type.{u10}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_3 : AddCommMonoid.{u3} β] [_inst_4 : AddCommMonoid.{u4} γ] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] [_inst_7 : Module.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (A : Matrix.{u5, u6, u2} l m α) (B : Matrix.{u7, u8, u3} n p β) (C : Matrix.{u9, u10, u4} q r γ), Eq.{succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)} (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (coeFn.{max 1 (max (succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4)) (succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4))) (succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)) (succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4)), max (succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4)) (succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4))} (Equiv.{succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4), succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)} (Matrix.{max (max u5 u7) u9, max (max u6 u8) u10, max u2 u3 u4} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (fun (_x : Equiv.{succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4), succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)} (Matrix.{max (max u5 u7) u9, max (max u6 u8) u10, max u2 u3 u4} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) => (Matrix.{max (max u5 u7) u9, max (max u6 u8) u10, max u2 u3 u4} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) -> (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Equiv.hasCoeToFun.{succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4), succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)} (Matrix.{max (max u5 u7) u9, max (max u6 u8) u10, max u2 u3 u4} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Matrix.reindex.{max u2 u3 u4, max u5 u7 u9, max (max u5 u7) u9, max (max u6 u8) u10, max u6 u8 u10} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Equiv.prodAssoc.{u5, u7, u9} l n q) (Equiv.prodAssoc.{u6, u8, u10} m p r)) (Matrix.map.{max (max u2 u3) u4, max u2 u3 u4, max (max u5 u7) u9, max (max u6 u8) u10} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Matrix.kroneckerMap.{max u2 u3, u4, max (max u2 u3) u4, max u5 u7, max u6 u8, u9, u10} (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) q r (TensorProduct.tmul.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u5, u6, u7, u8} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B) C) (coeFn.{max (succ (max (max u2 u3) u4)) (succ (max u2 u3 u4)), max (succ (max (max u2 u3) u4)) (succ (max u2 u3 u4))} (LinearEquiv.{u1, u1, max (max u2 u3) u4, max u2 u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.assoc._proof_1.{u1} R _inst_1) (TensorProduct.assoc._proof_2.{u1} R _inst_1) (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.module.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.module.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (fun (_x : LinearEquiv.{u1, u1, max (max u2 u3) u4, max u2 u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.assoc._proof_1.{u1} R _inst_1) (TensorProduct.assoc._proof_2.{u1} R _inst_1) (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.module.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.module.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) -> (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (LinearEquiv.hasCoeToFun.{u1, u1, max (max u2 u3) u4, max u2 u3 u4} R R (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.module.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.module.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.assoc._proof_1.{u1} R _inst_1) (TensorProduct.assoc._proof_2.{u1} R _inst_1)) (TensorProduct.assoc.{u1, u2, u3, u4} R _inst_1 α β γ _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (Matrix.kroneckerMap.{u2, max u3 u4, max u2 u3 u4, u5, u6, max u7 u9, max u8 u10} α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) l m (Prod.{u7, u9} n q) (Prod.{u8, u10} p r) (TensorProduct.tmul.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) A (Matrix.kroneckerMap.{u3, u4, max u3 u4, u7, u8, u9, u10} β γ (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) n p q r (TensorProduct.tmul.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) B C))
-but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u8}} {β : Type.{u5}} {γ : Type.{u2}} {l : Type.{u10}} {m : Type.{u9}} {n : Type.{u7}} {p : Type.{u6}} {q : Type.{u4}} {r : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u8} α] [_inst_3 : AddCommMonoid.{u5} β] [_inst_4 : AddCommMonoid.{u2} γ] [_inst_5 : Module.{u1, u8} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u5} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] [_inst_7 : Module.{u1, u2} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (A : Matrix.{u10, u9, u8} l m α) (B : Matrix.{u7, u6, u5} n p β) (C : Matrix.{u4, u3, u2} q r γ), Eq.{max (max (max (max (max (max (max (max (succ u8) (succ u5)) (succ u2)) (succ u10)) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.map.{max (max u8 u5) u2, max (max u8 u5) u2, max (max u10 u7) u4, max (max u9 u6) u3} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Matrix.kroneckerMap.{max u5 u8, u2, max u2 u5 u8, max u7 u10, max u6 u9, u4, u3} (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Prod.{u10, u7} l n) (Prod.{u9, u6} m p) q r (TensorProduct.tmul.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Matrix.kroneckerMap.{u8, u5, max u5 u8, u10, u9, u7, u6} α β (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B) C) (FunLike.coe.{max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (a : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) a) (SMulHomClass.toFunLike.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))))) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (TensorProduct.assoc.{u1, u8, u5, u2} R _inst_1 α β γ _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (FunLike.coe.{max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2))} (Equiv.{max (max (succ (max (max u8 u5) u2)) (succ (max (max u9 u6) u3))) (succ (max (max u10 u7) u4)), max (max (succ (max (max u8 u5) u2)) (succ (max (max u9 u6) u3))) (succ (max (max u10 u7) u4))} (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (fun (_x : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2))} (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Matrix.reindex.{max (max u8 u5) u2, max (max u10 u7) u4, max (max u10 u7) u4, max (max u9 u6) u3, max (max u9 u6) u3} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Equiv.prodAssoc.{u10, u7, u4} l n q) (Equiv.prodAssoc.{u9, u6, u3} m p r)) (Matrix.map.{max (max u8 u5) u2, max (max u8 u5) u2, max (max u10 u7) u4, max (max u9 u6) u3} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Matrix.kroneckerMap.{max u5 u8, u2, max u2 u5 u8, max u7 u10, max u6 u9, u4, u3} (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Prod.{u10, u7} l n) (Prod.{u9, u6} m p) q r (TensorProduct.tmul.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Matrix.kroneckerMap.{u8, u5, max u5 u8, u10, u9, u7, u6} α β (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B) C) (FunLike.coe.{max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) _x) (SMulHomClass.toFunLike.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))))) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (TensorProduct.assoc.{u1, u8, u5, u2} R _inst_1 α β γ _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (Matrix.kroneckerMap.{u8, max u2 u5, max (max u2 u5) u8, u10, u9, max u4 u7, max u3 u6} α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) l m (Prod.{u7, u4} n q) (Prod.{u6, u3} p r) (TensorProduct.tmul.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) A (Matrix.kroneckerMap.{u5, u2, max u2 u5, u7, u6, u4, u3} β γ (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) n p q r (TensorProduct.tmul.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) B C))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_assoc Matrix.kroneckerTMul_assocₓ'. -/
 @[simp]
 theorem kroneckerTMul_assoc (A : Matrix l m α) (B : Matrix n p β) (C : Matrix q r γ) :
@@ -856,10 +811,7 @@ theorem kroneckerTMul_assoc (A : Matrix l m α) (B : Matrix n p β) (C : Matrix
 #align matrix.kronecker_tmul_assoc Matrix.kroneckerTMul_assoc
 
 /- warning: matrix.trace_kronecker_tmul -> Matrix.trace_kroneckerTMul is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_3 : AddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] [_inst_8 : Fintype.{u4} m] [_inst_9 : Fintype.{u5} n] (A : Matrix.{u4, u4, u2} m m α) (B : Matrix.{u5, u5, u3} n n β), Eq.{succ (max u2 u3)} (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (Matrix.trace.{max u4 u5, max u2 u3} (Prod.{u4, u5} m n) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (Prod.fintype.{u4, u5} m n _inst_8 _inst_9) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u4, u4, u5, u5} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) m m n n (TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B)) (TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6 (Matrix.trace.{u4, u2} m α _inst_8 _inst_2 A) (Matrix.trace.{u5, u3} n β _inst_9 _inst_3 B))
-but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u3}} {β : Type.{u2}} {m : Type.{u5}} {n : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} α] [_inst_3 : AddCommMonoid.{u2} β] [_inst_5 : Module.{u1, u3} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u2} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] [_inst_8 : Fintype.{u5} m] [_inst_9 : Fintype.{u4} n] (A : Matrix.{u5, u5, u3} m m α) (B : Matrix.{u4, u4, u2} n n β), Eq.{max (succ u3) (succ u2)} (TensorProduct.{u1, u3, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (Matrix.trace.{max u4 u5, max u2 u3} (Prod.{u5, u4} m n) (TensorProduct.{u1, u3, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (instFintypeProd.{u5, u4} m n _inst_8 _inst_9) (TensorProduct.addCommMonoid.{u1, u3, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (Matrix.kroneckerMap.{u3, u2, max u2 u3, u5, u5, u4, u4} α β (TensorProduct.{u1, u3, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) m m n n (TensorProduct.tmul.{u1, u3, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B)) (TensorProduct.tmul.{u1, u3, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6 (Matrix.trace.{u5, u3} m α _inst_8 _inst_2 A) (Matrix.trace.{u4, u2} n β _inst_9 _inst_3 B))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.trace_kronecker_tmul Matrix.trace_kroneckerTMulₓ'. -/
 theorem trace_kroneckerTMul [Fintype m] [Fintype n] (A : Matrix m m α) (B : Matrix n n β) :
     trace (A ⊗ₖₜ[R] B) = trace A ⊗ₜ[R] trace B :=
@@ -879,10 +831,7 @@ section Semiring
 variable [CommSemiring R] [Semiring α] [Semiring β] [Algebra R α] [Algebra R β]
 
 /- warning: matrix.one_kronecker_tmul_one -> Matrix.one_kroneckerTMul_one is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {α : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} α] [_inst_4 : Algebra.{u1, u2} R α _inst_1 _inst_2] [_inst_6 : DecidableEq.{succ u3} m] [_inst_7 : DecidableEq.{succ u4} n], Eq.{succ (max (max u3 u4) u2)} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u3, u4} m n) (Prod.{u3, u4} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4))) (Matrix.kroneckerMap.{u2, u2, u2, u3, u3, u4, u4} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) m m n n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (OfNat.ofNat.{max u3 u2} (Matrix.{u3, u3, u2} m m α) 1 (OfNat.mk.{max u3 u2} (Matrix.{u3, u3, u2} m m α) 1 (One.one.{max u3 u2} (Matrix.{u3, u3, u2} m m α) (Matrix.hasOne.{u2, u3} m α (fun (a : m) (b : m) => _inst_6 a b) (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2)))) (AddMonoidWithOne.toOne.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2)))))))) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} n n α) 1 (OfNat.mk.{max u4 u2} (Matrix.{u4, u4, u2} n n α) 1 (One.one.{max u4 u2} (Matrix.{u4, u4, u2} n n α) (Matrix.hasOne.{u2, u4} n α (fun (a : n) (b : n) => _inst_7 a b) (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2)))) (AddMonoidWithOne.toOne.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))))))))) (OfNat.ofNat.{max (max u3 u4) u2} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u3, u4} m n) (Prod.{u3, u4} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4))) 1 (OfNat.mk.{max (max u3 u4) u2} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u3, u4} m n) (Prod.{u3, u4} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4))) 1 (One.one.{max (max u3 u4) u2} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u3, u4} m n) (Prod.{u3, u4} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4))) (Matrix.hasOne.{u2, max u3 u4} (Prod.{u3, u4} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (fun (a : Prod.{u3, u4} m n) (b : Prod.{u3, u4} m n) => Prod.Lex.decidableEq.{u3, u4} m n (fun (a : m) (b : m) => _inst_6 a b) (fun (a : n) (b : n) => _inst_7 a b) a b) (MulZeroClass.toHasZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (Semiring.toNonAssocSemiring.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, u2} R _inst_1 α _inst_2 _inst_4 α _inst_2 _inst_4))))) (Algebra.TensorProduct.TensorProduct.hasOne.{u1, u2, u2} R _inst_1 α _inst_2 _inst_4 α _inst_2 _inst_4)))))
-but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u2}} {m : Type.{u4}} {n : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} α] [_inst_4 : Algebra.{u1, u2} R α _inst_1 _inst_2] [_inst_6 : DecidableEq.{succ u4} m] [_inst_7 : DecidableEq.{succ u3} n], Eq.{max (max (succ u2) (succ u4)) (succ u3)} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u4, u3} m n) (Prod.{u4, u3} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4))) (Matrix.kroneckerMap.{u2, u2, u2, u4, u4, u3, u3} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) m m n n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (OfNat.ofNat.{max u2 u4} (Matrix.{u4, u4, u2} m m α) 1 (One.toOfNat1.{max u2 u4} (Matrix.{u4, u4, u2} m m α) (Matrix.one.{u2, u4} m α (fun (a : m) (b : m) => _inst_6 a b) (MonoidWithZero.toZero.{u2} α (Semiring.toMonoidWithZero.{u2} α _inst_2)) (Semiring.toOne.{u2} α _inst_2)))) (OfNat.ofNat.{max u2 u3} (Matrix.{u3, u3, u2} n n α) 1 (One.toOfNat1.{max u2 u3} (Matrix.{u3, u3, u2} n n α) (Matrix.one.{u2, u3} n α (fun (a : n) (b : n) => _inst_7 a b) (MonoidWithZero.toZero.{u2} α (Semiring.toMonoidWithZero.{u2} α _inst_2)) (Semiring.toOne.{u2} α _inst_2))))) (OfNat.ofNat.{max (max u2 u4) u3} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u4, u3} m n) (Prod.{u4, u3} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4))) 1 (One.toOfNat1.{max (max u2 u4) u3} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u4, u3} m n) (Prod.{u4, u3} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4))) (Matrix.one.{u2, max u4 u3} (Prod.{u4, u3} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (fun (a : Prod.{u4, u3} m n) (b : Prod.{u4, u3} m n) => instDecidableEqProd.{u4, u3} m n (fun (a : m) (b : m) => _inst_6 a b) (fun (a : n) (b : n) => _inst_7 a b) a b) (MonoidWithZero.toZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (Semiring.toMonoidWithZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, u2} R _inst_1 α _inst_2 _inst_4 α _inst_2 _inst_4))) (Algebra.TensorProduct.instOneTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, u2} R _inst_1 α _inst_2 _inst_4 α _inst_2 _inst_4))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.one_kronecker_tmul_one Matrix.one_kroneckerTMul_oneₓ'. -/
 @[simp]
 theorem one_kroneckerTMul_one [DecidableEq m] [DecidableEq n] :
@@ -891,10 +840,7 @@ theorem one_kroneckerTMul_one [DecidableEq m] [DecidableEq n] :
 #align matrix.one_kronecker_tmul_one Matrix.one_kroneckerTMul_one
 
 /- warning: matrix.mul_kronecker_tmul_mul -> Matrix.mul_kroneckerTMul_mul is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {l' : Type.{u7}} {m' : Type.{u8}} {n' : Type.{u9}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} α] [_inst_3 : Semiring.{u3} β] [_inst_4 : Algebra.{u1, u2} R α _inst_1 _inst_2] [_inst_5 : Algebra.{u1, u3} R β _inst_1 _inst_3] [_inst_6 : Fintype.{u5} m] [_inst_7 : Fintype.{u8} m'] (A : Matrix.{u4, u5, u2} l m α) (B : Matrix.{u5, u6, u2} m n α) (A' : Matrix.{u7, u8, u3} l' m' β) (B' : Matrix.{u8, u9, u3} m' n' β), Eq.{succ (max (max u4 u7) (max u6 u9) u2 u3)} (Matrix.{max u4 u7, max u6 u9, max u2 u3} (Prod.{u4, u7} l l') (Prod.{u6, u9} n n') (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5))) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u4, u6, u7, u9} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) l n l' n' (TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (Matrix.mul.{u2, u4, u5, u6} l m n α _inst_6 (Distrib.toHasMul.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) A B) (Matrix.mul.{u3, u7, u8, u9} l' m' n' β _inst_7 (Distrib.toHasMul.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) A' B')) (Matrix.mul.{max u2 u3, max u4 u7, max u5 u8, max u6 u9} (Prod.{u4, u7} l l') (Prod.{u5, u8} m m') (Prod.{u6, u9} n n') (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (Prod.fintype.{u5, u8} m m' _inst_6 _inst_7) (Distrib.toHasMul.{max u2 u3} (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u3} (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (Semiring.toNonAssocSemiring.{max u2 u3} (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, u3} R _inst_1 α _inst_2 _inst_4 β _inst_3 _inst_5))))) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u4, u5, u7, u8} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) l m l' m' (fun (_x : α) (_y : β) => TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5) _x _y) A A') (Matrix.kroneckerMap.{u2, u3, max u2 u3, u5, u6, u8, u9} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) m n m' n' (fun (_x : α) (_y : β) => TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5) _x _y) B B'))
-but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u6}} {β : Type.{u3}} {l : Type.{u7}} {m : Type.{u9}} {n : Type.{u5}} {l' : Type.{u4}} {m' : Type.{u8}} {n' : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u6} α] [_inst_3 : Semiring.{u3} β] [_inst_4 : Algebra.{u1, u6} R α _inst_1 _inst_2] [_inst_5 : Algebra.{u1, u3} R β _inst_1 _inst_3] [_inst_6 : Fintype.{u9} m] [_inst_7 : Fintype.{u8} m'] (A : Matrix.{u7, u9, u6} l m α) (B : Matrix.{u9, u5, u6} m n α) (A' : Matrix.{u4, u8, u3} l' m' β) (B' : Matrix.{u8, u2, u3} m' n' β), Eq.{max (max (max (max (max (succ u6) (succ u3)) (succ u7)) (succ u5)) (succ u4)) (succ u2)} (Matrix.{max u4 u7, max u2 u5, max u3 u6} (Prod.{u7, u4} l l') (Prod.{u5, u2} n n') (TensorProduct.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5))) (Matrix.kroneckerMap.{u6, u3, max u3 u6, u7, u5, u4, u2} α β (TensorProduct.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) l n l' n' (TensorProduct.tmul.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (Matrix.mul.{u6, u7, u9, u5} l m n α _inst_6 (NonUnitalNonAssocSemiring.toMul.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) A B) (Matrix.mul.{u3, u4, u8, u2} l' m' n' β _inst_7 (NonUnitalNonAssocSemiring.toMul.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) A' B')) (Matrix.mul.{max u3 u6, max u4 u7, max u8 u9, max u2 u5} (Prod.{u7, u4} l l') (Prod.{u9, u8} m m') (Prod.{u5, u2} n n') (TensorProduct.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (instFintypeProd.{u9, u8} m m' _inst_6 _inst_7) (NonUnitalNonAssocSemiring.toMul.{max u6 u3} (TensorProduct.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u6 u3} (TensorProduct.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (Semiring.toNonAssocSemiring.{max u6 u3} (TensorProduct.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u6, u3} R _inst_1 α _inst_2 _inst_4 β _inst_3 _inst_5)))) (Algebra.TensorProduct.instAddCommMonoidTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u6, u3} R _inst_1 α _inst_2 _inst_4 β _inst_3 _inst_5) (Matrix.kroneckerMap.{u6, u3, max u3 u6, u7, u9, u4, u8} α β (TensorProduct.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) l m l' m' (fun (_x : α) (_y : β) => TensorProduct.tmul.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5) _x _y) A A') (Matrix.kroneckerMap.{u6, u3, max u3 u6, u9, u5, u8, u2} α β (TensorProduct.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) m n m' n' (fun (_x : α) (_y : β) => TensorProduct.tmul.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5) _x _y) B B'))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.mul_kronecker_tmul_mul Matrix.mul_kroneckerTMul_mulₓ'. -/
 theorem mul_kroneckerTMul_mul [Fintype m] [Fintype m'] (A : Matrix l m α) (B : Matrix m n α)
     (A' : Matrix l' m' β) (B' : Matrix m' n' β) : (A ⬝ B) ⊗ₖₜ[R] (A' ⬝ B') = A ⊗ₖₜ A' ⬝ B ⊗ₖₜ B' :=
@@ -908,10 +854,7 @@ section CommRing
 variable [CommRing R] [CommRing α] [CommRing β] [Algebra R α] [Algebra R β]
 
 /- warning: matrix.det_kronecker_tmul -> Matrix.det_kroneckerTMul is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} α] [_inst_3 : CommRing.{u3} β] [_inst_4 : Algebra.{u1, u2} R α (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} α (CommRing.toRing.{u2} α _inst_2))] [_inst_5 : Algebra.{u1, u3} R β (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} β (CommRing.toRing.{u3} β _inst_3))] [_inst_6 : Fintype.{u4} m] [_inst_7 : Fintype.{u5} n] [_inst_8 : DecidableEq.{succ u4} m] [_inst_9 : DecidableEq.{succ u5} n] (A : Matrix.{u4, u4, u2} m m α) (B : Matrix.{u5, u5, u3} n n β), Eq.{succ (max u2 u3)} (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_2))))) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_3))))) (Algebra.toModule.{u1, u2} R α (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} α (CommRing.toRing.{u2} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u3} R β (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} β (CommRing.toRing.{u3} β _inst_3)) _inst_5)) (Matrix.det.{max u2 u3, max u4 u5} (Prod.{u4, u5} m n) (fun (a : Prod.{u4, u5} m n) (b : Prod.{u4, u5} m n) => Prod.Lex.decidableEq.{u4, u5} m n (fun (a : m) (b : m) => _inst_8 a b) (fun (a : n) (b : n) => _inst_9 a b) a b) (Prod.fintype.{u4, u5} m n _inst_6 _inst_7) (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_2))))) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_3))))) (Algebra.toModule.{u1, u2} R α (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} α (CommRing.toRing.{u2} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u3} R β (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} β (CommRing.toRing.{u3} β _inst_3)) _inst_5)) (Algebra.TensorProduct.TensorProduct.commRing.{u1, u2, u3} R _inst_1 α _inst_2 _inst_4 β _inst_3 _inst_5) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u4, u4, u5, u5} α β (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_2))))) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_3))))) (Algebra.toModule.{u1, u2} R α (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} α (CommRing.toRing.{u2} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u3} R β (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} β (CommRing.toRing.{u3} β _inst_3)) _inst_5)) m m n n (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_2))))) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_3))))) (Algebra.toModule.{u1, u2} R α (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} α (CommRing.toRing.{u2} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u3} R β (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} β (CommRing.toRing.{u3} β _inst_3)) _inst_5)) A B)) (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_2))))) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_3))))) (Algebra.toModule.{u1, u2} R α (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} α (CommRing.toRing.{u2} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u3} R β (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} β (CommRing.toRing.{u3} β _inst_3)) _inst_5) (HPow.hPow.{u2, 0, u2} α Nat α (instHPow.{u2, 0} α Nat (Monoid.Pow.{u2} α (Ring.toMonoid.{u2} α (CommRing.toRing.{u2} α _inst_2)))) (Matrix.det.{u2, u4} m (fun (a : m) (b : m) => _inst_8 a b) _inst_6 α _inst_2 A) (Fintype.card.{u5} n _inst_7)) (HPow.hPow.{u3, 0, u3} β Nat β (instHPow.{u3, 0} β Nat (Monoid.Pow.{u3} β (Ring.toMonoid.{u3} β (CommRing.toRing.{u3} β _inst_3)))) (Matrix.det.{u3, u5} n (fun (a : n) (b : n) => _inst_9 a b) _inst_7 β _inst_3 B) (Fintype.card.{u4} m _inst_6)))
-but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u3}} {β : Type.{u2}} {m : Type.{u5}} {n : Type.{u4}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u3} α] [_inst_3 : CommRing.{u2} β] [_inst_4 : Algebra.{u1, u3} R α (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_2))] [_inst_5 : Algebra.{u1, u2} R β (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_3))] [_inst_6 : Fintype.{u5} m] [_inst_7 : Fintype.{u4} n] [_inst_8 : DecidableEq.{succ u5} m] [_inst_9 : DecidableEq.{succ u4} n] (A : Matrix.{u5, u5, u3} m m α) (B : Matrix.{u4, u4, u2} n n β), Eq.{max (succ u3) (succ u2)} (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_3))))) (Algebra.toModule.{u1, u3} R α (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u2} R β (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_3)) _inst_5)) (Matrix.det.{max u2 u3, max u4 u5} (Prod.{u5, u4} m n) (fun (a : Prod.{u5, u4} m n) (b : Prod.{u5, u4} m n) => instDecidableEqProd.{u5, u4} m n (fun (a : m) (b : m) => _inst_8 a b) (fun (a : n) (b : n) => _inst_9 a b) a b) (instFintypeProd.{u5, u4} m n _inst_6 _inst_7) (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_3))))) (Algebra.toModule.{u1, u3} R α (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u2} R β (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_3)) _inst_5)) (Algebra.TensorProduct.instCommRingTensorProductToCommSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingToRingToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingToRingToModuleToSemiringToCommSemiringToModuleToSemiringToCommSemiring.{u1, u3, u2} R _inst_1 α _inst_2 _inst_4 β _inst_3 _inst_5) (Matrix.kroneckerMap.{u3, u2, max u2 u3, u5, u5, u4, u4} α β (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_3))))) (Algebra.toModule.{u1, u3} R α (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u2} R β (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_3)) _inst_5)) m m n n (TensorProduct.tmul.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_3))))) (Algebra.toModule.{u1, u3} R α (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u2} R β (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_3)) _inst_5)) A B)) (TensorProduct.tmul.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_3))))) (Algebra.toModule.{u1, u3} R α (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u2} R β (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_3)) _inst_5) (HPow.hPow.{u3, 0, u3} α Nat α (instHPow.{u3, 0} α Nat (Monoid.Pow.{u3} α (MonoidWithZero.toMonoid.{u3} α (Semiring.toMonoidWithZero.{u3} α (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_2)))))) (Matrix.det.{u3, u5} m (fun (a : m) (b : m) => _inst_8 a b) _inst_6 α _inst_2 A) (Fintype.card.{u4} n _inst_7)) (HPow.hPow.{u2, 0, u2} β Nat β (instHPow.{u2, 0} β Nat (Monoid.Pow.{u2} β (MonoidWithZero.toMonoid.{u2} β (Semiring.toMonoidWithZero.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_3)))))) (Matrix.det.{u2, u4} n (fun (a : n) (b : n) => _inst_9 a b) _inst_7 β _inst_3 B) (Fintype.card.{u5} m _inst_6)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.det_kronecker_tmul Matrix.det_kroneckerTMulₓ'. -/
 theorem det_kroneckerTMul [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] (A : Matrix m m α)
     (B : Matrix n n β) :
Diff
@@ -341,7 +341,7 @@ def kroneckerMapBilinear [CommSemiring R] [AddCommMonoid α] [AddCommMonoid β]
 lean 3 declaration is
   forall {R : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {l' : Type.{u8}} {m' : Type.{u9}} {n' : Type.{u10}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u6} m] [_inst_3 : Fintype.{u9} m'] [_inst_4 : NonUnitalNonAssocSemiring.{u2} α] [_inst_5 : NonUnitalNonAssocSemiring.{u3} β] [_inst_6 : NonUnitalNonAssocSemiring.{u4} γ] [_inst_7 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)] [_inst_8 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)] [_inst_9 : Module.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)] (f : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))), (forall (a : α) (b : α) (a' : β) (b' : β), Eq.{succ u4} γ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (HMul.hMul.{u2, u2, u2} α α α (instHMul.{u2} α (Distrib.toHasMul.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α _inst_4))) a b)) (HMul.hMul.{u3, u3, u3} β β β (instHMul.{u3} β (Distrib.toHasMul.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β _inst_5))) a' b')) (HMul.hMul.{u4, u4, u4} γ γ γ (instHMul.{u4} γ (Distrib.toHasMul.{u4} γ (NonUnitalNonAssocSemiring.toDistrib.{u4} γ _inst_6))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f a) a') (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f b) b'))) -> (forall (A : Matrix.{u5, u6, u2} l m α) (B : Matrix.{u6, u7, u2} m n α) (A' : Matrix.{u8, u9, u3} l' m' β) (B' : Matrix.{u9, u10, u3} m' n' β), Eq.{succ (max (max u5 u8) (max u7 u10) u4)} (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (coeFn.{max (succ (max u8 u10 u3)) (succ (max (max u5 u8) (max u7 u10) u4)), max (succ (max u8 u10 u3)) (succ (max (max u5 u8) (max u7 u10) u4))} (LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (fun (_x : LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) => (Matrix.{u8, u10, u3} l' n' β) -> (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ)) (LinearMap.hasCoeToFun.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u5 u7 u2)) (succ (max (max u8 u10 u3) (max u5 u8) (max u7 u10) u4)), max (succ (max u5 u7 u2)) (succ (max (max u8 u10 u3) (max u5 u8) (max u7 u10) u4))} (LinearMap.{u1, u1, max u5 u7 u2, max (max u8 u10 u3) (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u7, u2} l n α) (LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u5, u7} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u7, u1} l n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u10, u4, u5, u7} R γ l n l' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (fun (_x : LinearMap.{u1, u1, max u5 u7 u2, max (max u8 u10 u3) (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u7, u2} l n α) (LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u5, u7} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u7, u1} l n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u10, u4, u5, u7} R γ l n l' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) => (Matrix.{u5, u7, u2} l n α) -> (LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (LinearMap.hasCoeToFun.{u1, u1, max u5 u7 u2, max (max u8 u10 u3) (max u5 u8) (max u7 u10) u4} R R (Matrix.{u5, u7, u2} l n α) (LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u2, u5, u7} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u7, u1} l n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u10, u4, u5, u7} R γ l n l' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u1, u2, u3, u4, u5, u7, u8, u10} R α β γ l n l' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_7 _inst_8 _inst_9 f) (Matrix.mul.{u2, u5, u6, u7} l m n α _inst_2 (Distrib.toHasMul.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) A B)) (Matrix.mul.{u3, u8, u9, u10} l' m' n' β _inst_3 (Distrib.toHasMul.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) A' B')) (Matrix.mul.{u4, max u5 u8, max u6 u9, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (Prod.fintype.{u6, u9} m m' _inst_2 _inst_3) (Distrib.toHasMul.{u4} γ (NonUnitalNonAssocSemiring.toDistrib.{u4} γ _inst_6)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) (coeFn.{max (succ (max u8 u9 u3)) (succ (max (max u5 u8) (max u6 u9) u4)), max (succ (max u8 u9 u3)) (succ (max (max u5 u8) (max u6 u9) u4))} (LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (fun (_x : LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) => (Matrix.{u8, u9, u3} l' m' β) -> (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ)) (LinearMap.hasCoeToFun.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u5 u6 u2)) (succ (max (max u8 u9 u3) (max u5 u8) (max u6 u9) u4)), max (succ (max u5 u6 u2)) (succ (max (max u8 u9 u3) (max u5 u8) (max u6 u9) u4))} (LinearMap.{u1, u1, max u5 u6 u2, max (max u8 u9 u3) (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u6, u2} l m α) (LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u5, u6} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u6, u1} l m R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u9, u4, u5, u6} R γ l m l' m' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (fun (_x : LinearMap.{u1, u1, max u5 u6 u2, max (max u8 u9 u3) (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u6, u2} l m α) (LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u5, u6} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u6, u1} l m R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u9, u4, u5, u6} R γ l m l' m' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) => (Matrix.{u5, u6, u2} l m α) -> (LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (LinearMap.hasCoeToFun.{u1, u1, max u5 u6 u2, max (max u8 u9 u3) (max u5 u8) (max u6 u9) u4} R R (Matrix.{u5, u6, u2} l m α) (LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u2, u5, u6} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u6, u1} l m R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u9, u4, u5, u6} R γ l m l' m' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u1, u2, u3, u4, u5, u6, u8, u9} R α β γ l m l' m' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_7 _inst_8 _inst_9 f) A) A') (coeFn.{max (succ (max u9 u10 u3)) (succ (max (max u6 u9) (max u7 u10) u4)), max (succ (max u9 u10 u3)) (succ (max (max u6 u9) (max u7 u10) u4))} (LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (fun (_x : LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) => (Matrix.{u9, u10, u3} m' n' β) -> (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ)) (LinearMap.hasCoeToFun.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u6 u7 u2)) (succ (max (max u9 u10 u3) (max u6 u9) (max u7 u10) u4)), max (succ (max u6 u7 u2)) (succ (max (max u9 u10 u3) (max u6 u9) (max u7 u10) u4))} (LinearMap.{u1, u1, max u6 u7 u2, max (max u9 u10 u3) (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u7, u2} m n α) (LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u6, u7} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u6, u7, u1} m n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u9, u10, u4, u6, u7} R γ m n m' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (fun (_x : LinearMap.{u1, u1, max u6 u7 u2, max (max u9 u10 u3) (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u7, u2} m n α) (LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u6, u7} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u6, u7, u1} m n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u9, u10, u4, u6, u7} R γ m n m' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) => (Matrix.{u6, u7, u2} m n α) -> (LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (LinearMap.hasCoeToFun.{u1, u1, max u6 u7 u2, max (max u9 u10 u3) (max u6 u9) (max u7 u10) u4} R R (Matrix.{u6, u7, u2} m n α) (LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u2, u6, u7} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u6, u7, u1} m n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u9, u10, u4, u6, u7} R γ m n m' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u1, u2, u3, u4, u6, u7, u9, u10} R α β γ m n m' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_7 _inst_8 _inst_9 f) B) B')))
 but is expected to have type
-  forall {R : Type.{u10}} {α : Type.{u7}} {β : Type.{u6}} {γ : Type.{u5}} {l : Type.{u4}} {m : Type.{u9}} {n : Type.{u3}} {l' : Type.{u2}} {m' : Type.{u8}} {n' : Type.{u1}} [_inst_1 : CommSemiring.{u10} R] [_inst_2 : Fintype.{u9} m] [_inst_3 : Fintype.{u8} m'] [_inst_4 : NonUnitalNonAssocSemiring.{u7} α] [_inst_5 : NonUnitalNonAssocSemiring.{u6} β] [_inst_6 : NonUnitalNonAssocSemiring.{u5} γ] [_inst_7 : Module.{u10, u7} R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)] [_inst_8 : Module.{u10, u6} R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)] [_inst_9 : Module.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)] (f : LinearMap.{u10, u10, u7, max u5 u6} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))), (forall (a : α) (b : α) (a' : β) (b' : β), Eq.{succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (HMul.hMul.{u6, u6, u6} β β β (instHMul.{u6} β (NonUnitalNonAssocSemiring.toMul.{u6} β _inst_5)) a' b')) (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (NonUnitalNonAssocSemiring.toMul.{u7} α _inst_4)) a b)) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (succ u7) (succ u6)) (succ u5), succ u7, max (succ u6) (succ u5)} (LinearMap.{u10, u10, u7, max u5 u6} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u7, max u6 u5} R R α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) f (HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (NonUnitalNonAssocSemiring.toMul.{u7} α _inst_4)) a b)) (HMul.hMul.{u6, u6, u6} β β β (instHMul.{u6} β (NonUnitalNonAssocSemiring.toMul.{u6} β _inst_5)) a' b')) (HMul.hMul.{u5, u5, u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) b') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') (instHMul.{u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') (NonUnitalNonAssocSemiring.toMul.{u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') _inst_6)) (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) a) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (succ u7) (succ u6)) (succ u5), succ u7, max (succ u6) (succ u5)} (LinearMap.{u10, u10, u7, max u5 u6} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u7, max u6 u5} R R α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) f a) a') (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) b) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (succ u7) (succ u6)) (succ u5), succ u7, max (succ u6) (succ u5)} (LinearMap.{u10, u10, u7, max u5 u6} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u7, max u6 u5} R R α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) f b) b'))) -> (forall (A : Matrix.{u4, u9, u7} l m α) (B : Matrix.{u9, u3, u7} m n α) (A' : Matrix.{u2, u8, u6} l' m' β) (B' : Matrix.{u8, u1, u6} m' n' β), Eq.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u2, u1, u6} l' n' β) => Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.mul.{u6, u2, u8, u1} l' m' n' β _inst_3 (NonUnitalNonAssocSemiring.toMul.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) A' B')) (FunLike.coe.{max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u1)) (succ u2), max (max (succ u6) (succ u1)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u1)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u4, u3, u7} l n α) => LinearMap.{u10, u10, max (max u6 u1) u2, max (max u5 u1 u3) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (Matrix.mul.{u7, u4, u9, u3} l m n α _inst_2 (NonUnitalNonAssocSemiring.toMul.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) A B)) (Matrix.{u2, u1, u6} l' n' β) (fun (_x : Matrix.{u2, u1, u6} l' n' β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u2, u1, u6} l' n' β) => Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u6 u1) u2, max (max (max (max u5 u4) u3) u1) u2} R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (max (max (max (max (succ u7) (succ u6)) (succ u5)) (succ u1)) (succ u2)) (succ u3)) (succ u4), max (max (succ u7) (succ u3)) (succ u4), max (max (max (max (max (succ u6) (succ u5)) (succ u1)) (succ u2)) (succ u3)) (succ u4)} (LinearMap.{u10, u10, max (max u7 u3) u4, max (max (max u5 u1 u3) u2 u4) (max u6 u1) u2} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u4, u3, u7} l n α) (LinearMap.{u10, u10, max (max u6 u1) u2, max (max u5 u1 u3) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u7, u4, u3} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u2) u1, max (max (max (max u5 u4) u3) u2) u1} R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u4, u3, u10} l n R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u2) u1, max (max (max (max u5 u4) u3) u2) u1} R R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u4 u2, max u3 u1, u10, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))))) (Matrix.{u4, u3, u7} l n α) (fun (_x : Matrix.{u4, u3, u7} l n α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u4, u3, u7} l n α) => LinearMap.{u10, u10, max (max u6 u1) u2, max (max u5 u1 u3) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u7 u3) u4, max (max (max (max (max u6 u5) u1) u2) u3) u4} R R (Matrix.{u4, u3, u7} l n α) (LinearMap.{u10, u10, max (max u6 u1) u2, max (max u5 u1 u3) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u7, u4, u3} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u2) u1, max (max (max (max u5 u4) u3) u2) u1} R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u4, u3, u10} l n R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u2) u1, max (max (max (max u5 u4) u3) u2) u1} R R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u4 u2, max u3 u1, u10, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u10, u7, u6, u5, u4, u3, u2, u1} R α β γ l n l' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_7 _inst_8 _inst_9 f) (Matrix.mul.{u7, u4, u9, u3} l m n α _inst_2 (NonUnitalNonAssocSemiring.toMul.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) A B)) (Matrix.mul.{u6, u2, u8, u1} l' m' n' β _inst_3 (NonUnitalNonAssocSemiring.toMul.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) A' B')) (Matrix.mul.{u5, max u4 u2, max u9 u8, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (instFintypeProd.{u9, u8} m m' _inst_2 _inst_3) (NonUnitalNonAssocSemiring.toMul.{u5} γ _inst_6) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) (FunLike.coe.{max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u9)) (succ u8)) (succ u2), max (max (succ u6) (succ u8)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u9)) (succ u8)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u4, u9, u7} l m α) => LinearMap.{u10, u10, max (max u6 u8) u2, max (max u5 u8 u9) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) A) (Matrix.{u2, u8, u6} l' m' β) (fun (_x : Matrix.{u2, u8, u6} l' m' β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u2, u8, u6} l' m' β) => Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u6 u8) u2, max (max (max (max u5 u4) u9) u8) u2} R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (max (max (max (max (succ u7) (succ u6)) (succ u5)) (succ u8)) (succ u2)) (succ u9)) (succ u4), max (max (succ u7) (succ u9)) (succ u4), max (max (max (max (max (succ u6) (succ u5)) (succ u8)) (succ u2)) (succ u9)) (succ u4)} (LinearMap.{u10, u10, max (max u7 u9) u4, max (max (max u5 u8 u9) u2 u4) (max u6 u8) u2} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u4, u9, u7} l m α) (LinearMap.{u10, u10, max (max u6 u8) u2, max (max u5 u8 u9) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u7, u4, u9} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u2) u8, max (max (max (max u5 u4) u9) u2) u8} R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u4, u9, u10} l m R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u2) u8, max (max (max (max u5 u4) u9) u2) u8} R R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u4 u2, max u9 u8, u10, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))))) (Matrix.{u4, u9, u7} l m α) (fun (_x : Matrix.{u4, u9, u7} l m α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u4, u9, u7} l m α) => LinearMap.{u10, u10, max (max u6 u8) u2, max (max u5 u8 u9) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u7 u9) u4, max (max (max (max (max u6 u5) u8) u2) u9) u4} R R (Matrix.{u4, u9, u7} l m α) (LinearMap.{u10, u10, max (max u6 u8) u2, max (max u5 u8 u9) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u7, u4, u9} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u2) u8, max (max (max (max u5 u4) u9) u2) u8} R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u4, u9, u10} l m R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u2) u8, max (max (max (max u5 u4) u9) u2) u8} R R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u4 u2, max u9 u8, u10, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u10, u7, u6, u5, u4, u9, u2, u8} R α β γ l m l' m' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_7 _inst_8 _inst_9 f) A) A') (FunLike.coe.{max (max (max (max (max (succ u6) (succ u5)) (succ u9)) (succ u3)) (succ u1)) (succ u8), max (max (succ u6) (succ u1)) (succ u8), max (max (max (max (succ u5) (succ u9)) (succ u3)) (succ u1)) (succ u8)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u9, u3, u7} m n α) => LinearMap.{u10, u10, max (max u6 u1) u8, max (max u5 u1 u3) u8 u9} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) B) (Matrix.{u8, u1, u6} m' n' β) (fun (_x : Matrix.{u8, u1, u6} m' n' β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u8, u1, u6} m' n' β) => Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u6 u1) u8, max (max (max (max u5 u9) u3) u1) u8} R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (max (max (max (max (succ u7) (succ u6)) (succ u5)) (succ u1)) (succ u8)) (succ u3)) (succ u9), max (max (succ u7) (succ u3)) (succ u9), max (max (max (max (max (succ u6) (succ u5)) (succ u1)) (succ u8)) (succ u3)) (succ u9)} (LinearMap.{u10, u10, max (max u7 u3) u9, max (max (max u5 u1 u3) u8 u9) (max u6 u1) u8} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u9, u3, u7} m n α) (LinearMap.{u10, u10, max (max u6 u1) u8, max (max u5 u1 u3) u8 u9} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u7, u9, u3} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u8) u1, max (max (max (max u5 u9) u3) u8) u1} R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u9, u3, u10} m n R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u8) u1, max (max (max (max u5 u9) u3) u8) u1} R R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u9 u8, max u3 u1, u10, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))))) (Matrix.{u9, u3, u7} m n α) (fun (_x : Matrix.{u9, u3, u7} m n α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u9, u3, u7} m n α) => LinearMap.{u10, u10, max (max u6 u1) u8, max (max u5 u1 u3) u8 u9} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u7 u3) u9, max (max (max (max (max u6 u5) u1) u8) u3) u9} R R (Matrix.{u9, u3, u7} m n α) (LinearMap.{u10, u10, max (max u6 u1) u8, max (max u5 u1 u3) u8 u9} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u7, u9, u3} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u8) u1, max (max (max (max u5 u9) u3) u8) u1} R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u9, u3, u10} m n R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u8) u1, max (max (max (max u5 u9) u3) u8) u1} R R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u9 u8, max u3 u1, u10, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u10, u7, u6, u5, u9, u3, u8, u1} R α β γ m n m' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_7 _inst_8 _inst_9 f) B) B')))
+  forall {R : Type.{u10}} {α : Type.{u7}} {β : Type.{u6}} {γ : Type.{u5}} {l : Type.{u4}} {m : Type.{u9}} {n : Type.{u3}} {l' : Type.{u2}} {m' : Type.{u8}} {n' : Type.{u1}} [_inst_1 : CommSemiring.{u10} R] [_inst_2 : Fintype.{u9} m] [_inst_3 : Fintype.{u8} m'] [_inst_4 : NonUnitalNonAssocSemiring.{u7} α] [_inst_5 : NonUnitalNonAssocSemiring.{u6} β] [_inst_6 : NonUnitalNonAssocSemiring.{u5} γ] [_inst_7 : Module.{u10, u7} R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)] [_inst_8 : Module.{u10, u6} R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)] [_inst_9 : Module.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)] (f : LinearMap.{u10, u10, u7, max u5 u6} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))), (forall (a : α) (b : α) (a' : β) (b' : β), Eq.{succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (HMul.hMul.{u6, u6, u6} β β β (instHMul.{u6} β (NonUnitalNonAssocSemiring.toMul.{u6} β _inst_5)) a' b')) (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (NonUnitalNonAssocSemiring.toMul.{u7} α _inst_4)) a b)) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (succ u7) (succ u6)) (succ u5), succ u7, max (succ u6) (succ u5)} (LinearMap.{u10, u10, u7, max u5 u6} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u7, max u6 u5} R R α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) f (HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (NonUnitalNonAssocSemiring.toMul.{u7} α _inst_4)) a b)) (HMul.hMul.{u6, u6, u6} β β β (instHMul.{u6} β (NonUnitalNonAssocSemiring.toMul.{u6} β _inst_5)) a' b')) (HMul.hMul.{u5, u5, u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) b') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') (instHMul.{u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') (NonUnitalNonAssocSemiring.toMul.{u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') _inst_6)) (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) a) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (succ u7) (succ u6)) (succ u5), succ u7, max (succ u6) (succ u5)} (LinearMap.{u10, u10, u7, max u5 u6} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u7, max u6 u5} R R α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) f a) a') (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) b) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (succ u7) (succ u6)) (succ u5), succ u7, max (succ u6) (succ u5)} (LinearMap.{u10, u10, u7, max u5 u6} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u7, max u6 u5} R R α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) f b) b'))) -> (forall (A : Matrix.{u4, u9, u7} l m α) (B : Matrix.{u9, u3, u7} m n α) (A' : Matrix.{u2, u8, u6} l' m' β) (B' : Matrix.{u8, u1, u6} m' n' β), Eq.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u2, u1, u6} l' n' β) => Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.mul.{u6, u2, u8, u1} l' m' n' β _inst_3 (NonUnitalNonAssocSemiring.toMul.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) A' B')) (FunLike.coe.{max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u1)) (succ u2), max (max (succ u6) (succ u1)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u1)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u4, u3, u7} l n α) => LinearMap.{u10, u10, max (max u6 u1) u2, max (max u5 u1 u3) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (Matrix.mul.{u7, u4, u9, u3} l m n α _inst_2 (NonUnitalNonAssocSemiring.toMul.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) A B)) (Matrix.{u2, u1, u6} l' n' β) (fun (_x : Matrix.{u2, u1, u6} l' n' β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u2, u1, u6} l' n' β) => Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u6 u1) u2, max (max (max (max u5 u4) u3) u1) u2} R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (max (max (max (max (succ u7) (succ u6)) (succ u5)) (succ u1)) (succ u2)) (succ u3)) (succ u4), max (max (succ u7) (succ u3)) (succ u4), max (max (max (max (max (succ u6) (succ u5)) (succ u1)) (succ u2)) (succ u3)) (succ u4)} (LinearMap.{u10, u10, max (max u7 u3) u4, max (max (max u5 u1 u3) u2 u4) (max u6 u1) u2} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u4, u3, u7} l n α) (LinearMap.{u10, u10, max (max u6 u1) u2, max (max u5 u1 u3) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u7, u4, u3} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u2) u1, max (max (max (max u5 u4) u3) u2) u1} R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u4, u3, u10} l n R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u2) u1, max (max (max (max u5 u4) u3) u2) u1} R R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u4 u2, max u3 u1, u10, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))))) (Matrix.{u4, u3, u7} l n α) (fun (_x : Matrix.{u4, u3, u7} l n α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u4, u3, u7} l n α) => LinearMap.{u10, u10, max (max u6 u1) u2, max (max u5 u1 u3) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u7 u3) u4, max (max (max (max (max u6 u5) u1) u2) u3) u4} R R (Matrix.{u4, u3, u7} l n α) (LinearMap.{u10, u10, max (max u6 u1) u2, max (max u5 u1 u3) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u7, u4, u3} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u2) u1, max (max (max (max u5 u4) u3) u2) u1} R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u4, u3, u10} l n R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u2) u1, max (max (max (max u5 u4) u3) u2) u1} R R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u4 u2, max u3 u1, u10, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u10, u7, u6, u5, u4, u3, u2, u1} R α β γ l n l' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_7 _inst_8 _inst_9 f) (Matrix.mul.{u7, u4, u9, u3} l m n α _inst_2 (NonUnitalNonAssocSemiring.toMul.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) A B)) (Matrix.mul.{u6, u2, u8, u1} l' m' n' β _inst_3 (NonUnitalNonAssocSemiring.toMul.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) A' B')) (Matrix.mul.{u5, max u4 u2, max u9 u8, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (instFintypeProd.{u9, u8} m m' _inst_2 _inst_3) (NonUnitalNonAssocSemiring.toMul.{u5} γ _inst_6) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) (FunLike.coe.{max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u9)) (succ u8)) (succ u2), max (max (succ u6) (succ u8)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u9)) (succ u8)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u4, u9, u7} l m α) => LinearMap.{u10, u10, max (max u6 u8) u2, max (max u5 u8 u9) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) A) (Matrix.{u2, u8, u6} l' m' β) (fun (_x : Matrix.{u2, u8, u6} l' m' β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u2, u8, u6} l' m' β) => Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u6 u8) u2, max (max (max (max u5 u4) u9) u8) u2} R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (max (max (max (max (succ u7) (succ u6)) (succ u5)) (succ u8)) (succ u2)) (succ u9)) (succ u4), max (max (succ u7) (succ u9)) (succ u4), max (max (max (max (max (succ u6) (succ u5)) (succ u8)) (succ u2)) (succ u9)) (succ u4)} (LinearMap.{u10, u10, max (max u7 u9) u4, max (max (max u5 u8 u9) u2 u4) (max u6 u8) u2} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u4, u9, u7} l m α) (LinearMap.{u10, u10, max (max u6 u8) u2, max (max u5 u8 u9) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u7, u4, u9} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u2) u8, max (max (max (max u5 u4) u9) u2) u8} R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u4, u9, u10} l m R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u2) u8, max (max (max (max u5 u4) u9) u2) u8} R R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u4 u2, max u9 u8, u10, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))))) (Matrix.{u4, u9, u7} l m α) (fun (_x : Matrix.{u4, u9, u7} l m α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u4, u9, u7} l m α) => LinearMap.{u10, u10, max (max u6 u8) u2, max (max u5 u8 u9) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u7 u9) u4, max (max (max (max (max u6 u5) u8) u2) u9) u4} R R (Matrix.{u4, u9, u7} l m α) (LinearMap.{u10, u10, max (max u6 u8) u2, max (max u5 u8 u9) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u7, u4, u9} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u2) u8, max (max (max (max u5 u4) u9) u2) u8} R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u4, u9, u10} l m R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u2) u8, max (max (max (max u5 u4) u9) u2) u8} R R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u4 u2, max u9 u8, u10, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u10, u7, u6, u5, u4, u9, u2, u8} R α β γ l m l' m' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_7 _inst_8 _inst_9 f) A) A') (FunLike.coe.{max (max (max (max (max (succ u6) (succ u5)) (succ u9)) (succ u3)) (succ u1)) (succ u8), max (max (succ u6) (succ u1)) (succ u8), max (max (max (max (succ u5) (succ u9)) (succ u3)) (succ u1)) (succ u8)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u9, u3, u7} m n α) => LinearMap.{u10, u10, max (max u6 u1) u8, max (max u5 u1 u3) u8 u9} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) B) (Matrix.{u8, u1, u6} m' n' β) (fun (_x : Matrix.{u8, u1, u6} m' n' β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u8, u1, u6} m' n' β) => Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u6 u1) u8, max (max (max (max u5 u9) u3) u1) u8} R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (max (max (max (max (succ u7) (succ u6)) (succ u5)) (succ u1)) (succ u8)) (succ u3)) (succ u9), max (max (succ u7) (succ u3)) (succ u9), max (max (max (max (max (succ u6) (succ u5)) (succ u1)) (succ u8)) (succ u3)) (succ u9)} (LinearMap.{u10, u10, max (max u7 u3) u9, max (max (max u5 u1 u3) u8 u9) (max u6 u1) u8} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u9, u3, u7} m n α) (LinearMap.{u10, u10, max (max u6 u1) u8, max (max u5 u1 u3) u8 u9} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u7, u9, u3} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u8) u1, max (max (max (max u5 u9) u3) u8) u1} R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u9, u3, u10} m n R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u8) u1, max (max (max (max u5 u9) u3) u8) u1} R R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u9 u8, max u3 u1, u10, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))))) (Matrix.{u9, u3, u7} m n α) (fun (_x : Matrix.{u9, u3, u7} m n α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u9, u3, u7} m n α) => LinearMap.{u10, u10, max (max u6 u1) u8, max (max u5 u1 u3) u8 u9} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u7 u3) u9, max (max (max (max (max u6 u5) u1) u8) u3) u9} R R (Matrix.{u9, u3, u7} m n α) (LinearMap.{u10, u10, max (max u6 u1) u8, max (max u5 u1 u3) u8 u9} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u7, u9, u3} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u8) u1, max (max (max (max u5 u9) u3) u8) u1} R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u9, u3, u10} m n R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u8) u1, max (max (max (max u5 u9) u3) u8) u1} R R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u9 u8, max u3 u1, u10, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u10, u7, u6, u5, u9, u3, u8, u1} R α β γ m n m' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_7 _inst_8 _inst_9 f) B) B')))
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_bilinear_mul_mul Matrix.kroneckerMapBilinear_mul_mulₓ'. -/
 /-- `matrix.kronecker_map_bilinear` commutes with `⬝` if `f` commutes with `*`.
 
@@ -364,7 +364,7 @@ theorem kroneckerMapBilinear_mul_mul [CommSemiring R] [Fintype m] [Fintype m']
 lean 3 declaration is
   forall {R : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u5} m] [_inst_3 : Fintype.{u6} n] [_inst_4 : AddCommMonoid.{u2} α] [_inst_5 : AddCommMonoid.{u3} β] [_inst_6 : AddCommMonoid.{u4} γ] [_inst_7 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] [_inst_8 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5] [_inst_9 : Module.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6] (f : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ _inst_6))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9))))) (A : Matrix.{u5, u5, u2} m m α) (B : Matrix.{u6, u6, u3} n n β), Eq.{succ u4} γ (Matrix.trace.{max u5 u6, u4} (Prod.{u5, u6} m n) γ (Prod.fintype.{u5, u6} m n _inst_2 _inst_3) _inst_6 (coeFn.{max (succ (max u6 u3)) (succ (max (max u5 u6) u4)), max (succ (max u6 u3)) (succ (max (max u5 u6) u4))} (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)) (fun (_x : LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)) => (Matrix.{u6, u6, u3} n n β) -> (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ)) (LinearMap.hasCoeToFun.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u5 u2)) (succ (max (max u6 u3) (max u5 u6) u4)), max (succ (max u5 u2)) (succ (max (max u6 u3) (max u5 u6) u4))} (LinearMap.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)) (Matrix.addCommMonoid.{u2, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_7) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 _inst_6 _inst_9))) (fun (_x : LinearMap.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)) (Matrix.addCommMonoid.{u2, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_7) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 _inst_6 _inst_9))) => (Matrix.{u5, u5, u2} m m α) -> (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9))) (LinearMap.hasCoeToFun.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u2, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_7) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 _inst_6 _inst_9)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u1, u2, u3, u4, u5, u5, u6, u6} R α β γ m m n n _inst_1 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) A) B)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ _inst_6))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ _inst_6))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ _inst_6))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (Matrix.trace.{u5, u2} m α _inst_2 _inst_4 A)) (Matrix.trace.{u6, u3} n β _inst_3 _inst_5 B))
 but is expected to have type
-  forall {R : Type.{u6}} {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {m : Type.{u5}} {n : Type.{u4}} [_inst_1 : CommSemiring.{u6} R] [_inst_2 : Fintype.{u5} m] [_inst_3 : Fintype.{u4} n] [_inst_4 : AddCommMonoid.{u3} α] [_inst_5 : AddCommMonoid.{u2} β] [_inst_6 : AddCommMonoid.{u1} γ] [_inst_7 : Module.{u6, u3} R α (CommSemiring.toSemiring.{u6} R _inst_1) _inst_4] [_inst_8 : Module.{u6, u2} R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5] [_inst_9 : Module.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6] (f : LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9))))) (A : Matrix.{u5, u5, u3} m m α) (B : Matrix.{u4, u4, u2} n n β), Eq.{succ u1} γ (Matrix.trace.{max u5 u4, u1} (Prod.{u5, u4} m n) γ (instFintypeProd.{u5, u4} m n _inst_2 _inst_3) _inst_6 (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u5)) (succ u4), max (succ u2) (succ u4), max (max (succ u1) (succ u5)) (succ u4)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u5, u5, u3} m m α) => LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)) A) (Matrix.{u4, u4, u2} n n β) (fun (_x : Matrix.{u4, u4, u2} n n β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u4, u4, u2} n n β) => Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (max (max (succ u3) (succ u2)) (succ u1)) (succ u4)) (succ u5), max (succ u3) (succ u5), max (max (max (succ u2) (succ u1)) (succ u4)) (succ u5)} (LinearMap.{u6, u6, max u3 u5, max (max u1 u4 u5) u2 u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u5, u5, u3} m m α) (LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)) (Matrix.addCommMonoid.{u3, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.module.{u3, u5, u5, u6} m m R α (CommSemiring.toSemiring.{u6} R _inst_1) _inst_4 _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, max u2 u4, max (max u1 u5) u4} R R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (Matrix.smulCommClass.{u1, max u5 u4, max u5 u4, u6, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R R γ (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))))) (Matrix.{u5, u5, u3} m m α) (fun (_x : Matrix.{u5, u5, u3} m m α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u5, u5, u3} m m α) => LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, max u3 u5, max (max (max u2 u1) u4) u5} R R (Matrix.{u5, u5, u3} m m α) (LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u3, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.module.{u3, u5, u5, u6} m m R α (CommSemiring.toSemiring.{u6} R _inst_1) _inst_4 _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, max u2 u4, max (max u1 u5) u4} R R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (Matrix.smulCommClass.{u1, max u5 u4, max u5 u4, u6, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R R γ (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9))))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u6, u3, u2, u1, u5, u5, u4, u4} R α β γ m m n n _inst_1 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) A) B)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) (Matrix.trace.{u5, u3} m α _inst_2 _inst_4 A)) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_4 (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f (Matrix.trace.{u5, u3} m α _inst_2 _inst_4 A)) (Matrix.trace.{u4, u2} n β _inst_3 _inst_5 B))
+  forall {R : Type.{u6}} {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {m : Type.{u5}} {n : Type.{u4}} [_inst_1 : CommSemiring.{u6} R] [_inst_2 : Fintype.{u5} m] [_inst_3 : Fintype.{u4} n] [_inst_4 : AddCommMonoid.{u3} α] [_inst_5 : AddCommMonoid.{u2} β] [_inst_6 : AddCommMonoid.{u1} γ] [_inst_7 : Module.{u6, u3} R α (CommSemiring.toSemiring.{u6} R _inst_1) _inst_4] [_inst_8 : Module.{u6, u2} R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5] [_inst_9 : Module.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6] (f : LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9))))) (A : Matrix.{u5, u5, u3} m m α) (B : Matrix.{u4, u4, u2} n n β), Eq.{succ u1} γ (Matrix.trace.{max u5 u4, u1} (Prod.{u5, u4} m n) γ (instFintypeProd.{u5, u4} m n _inst_2 _inst_3) _inst_6 (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u5)) (succ u4), max (succ u2) (succ u4), max (max (succ u1) (succ u5)) (succ u4)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u5, u5, u3} m m α) => LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)) A) (Matrix.{u4, u4, u2} n n β) (fun (_x : Matrix.{u4, u4, u2} n n β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u4, u4, u2} n n β) => Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (max (max (succ u3) (succ u2)) (succ u1)) (succ u4)) (succ u5), max (succ u3) (succ u5), max (max (max (succ u2) (succ u1)) (succ u4)) (succ u5)} (LinearMap.{u6, u6, max u3 u5, max (max u1 u4 u5) u2 u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u5, u5, u3} m m α) (LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)) (Matrix.addCommMonoid.{u3, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.module.{u3, u5, u5, u6} m m R α (CommSemiring.toSemiring.{u6} R _inst_1) _inst_4 _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, max u2 u4, max (max u1 u5) u4} R R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (Matrix.smulCommClass.{u1, max u5 u4, max u5 u4, u6, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R R γ (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))))) (Matrix.{u5, u5, u3} m m α) (fun (_x : Matrix.{u5, u5, u3} m m α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u5, u5, u3} m m α) => LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, max u3 u5, max (max (max u2 u1) u4) u5} R R (Matrix.{u5, u5, u3} m m α) (LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u3, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.module.{u3, u5, u5, u6} m m R α (CommSemiring.toSemiring.{u6} R _inst_1) _inst_4 _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, max u2 u4, max (max u1 u5) u4} R R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (Matrix.smulCommClass.{u1, max u5 u4, max u5 u4, u6, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R R γ (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9))))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u6, u3, u2, u1, u5, u5, u4, u4} R α β γ m m n n _inst_1 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) A) B)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) (Matrix.trace.{u5, u3} m α _inst_2 _inst_4 A)) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_4 (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f (Matrix.trace.{u5, u3} m α _inst_2 _inst_4 A)) (Matrix.trace.{u4, u2} n β _inst_3 _inst_5 B))
 Case conversion may be inaccurate. Consider using '#align matrix.trace_kronecker_map_bilinear Matrix.trace_kroneckerMapBilinearₓ'. -/
 /-- `trace` distributes over `matrix.kronecker_map_bilinear`.
 
@@ -381,7 +381,7 @@ theorem trace_kroneckerMapBilinear [CommSemiring R] [Fintype m] [Fintype n] [Add
 lean 3 declaration is
   forall {R : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u5} m] [_inst_3 : Fintype.{u6} n] [_inst_4 : DecidableEq.{succ u5} m] [_inst_5 : DecidableEq.{succ u6} n] [_inst_6 : CommRing.{u2} α] [_inst_7 : CommRing.{u3} β] [_inst_8 : CommRing.{u4} γ] [_inst_9 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6)))))] [_inst_10 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))] [_inst_11 : Module.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))] (f : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))), (forall (a : α) (b : α) (a' : β) (b' : β), Eq.{succ u4} γ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (HMul.hMul.{u2, u2, u2} α α α (instHMul.{u2} α (Distrib.toHasMul.{u2} α (Ring.toDistrib.{u2} α (CommRing.toRing.{u2} α _inst_6)))) a b)) (HMul.hMul.{u3, u3, u3} β β β (instHMul.{u3} β (Distrib.toHasMul.{u3} β (Ring.toDistrib.{u3} β (CommRing.toRing.{u3} β _inst_7)))) a' b')) (HMul.hMul.{u4, u4, u4} γ γ γ (instHMul.{u4} γ (Distrib.toHasMul.{u4} γ (Ring.toDistrib.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f a) a') (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f b) b'))) -> (forall (A : Matrix.{u5, u5, u2} m m α) (B : Matrix.{u6, u6, u3} n n β), Eq.{succ u4} γ (Matrix.det.{u4, max u5 u6} (Prod.{u5, u6} m n) (fun (a : Prod.{u5, u6} m n) (b : Prod.{u5, u6} m n) => Prod.Lex.decidableEq.{u5, u6} m n (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) a b) (Prod.fintype.{u5, u6} m n _inst_2 _inst_3) γ _inst_8 (coeFn.{max (succ (max u6 u3)) (succ (max (max u5 u6) u4)), max (succ (max u6 u3)) (succ (max (max u5 u6) u4))} (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) (fun (_x : LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) => (Matrix.{u6, u6, u3} n n β) -> (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ)) (LinearMap.hasCoeToFun.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u5 u2)) (succ (max (max u6 u3) (max u5 u6) u4)), max (succ (max u5 u2)) (succ (max (max u6 u3) (max u5 u6) u4))} (LinearMap.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) (Matrix.addCommMonoid.{u2, u5, u5} m m α (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6)))))) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) _inst_9) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))) (fun (_x : LinearMap.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) (Matrix.addCommMonoid.{u2, u5, u5} m m α (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6)))))) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) _inst_9) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))) => (Matrix.{u5, u5, u2} m m α) -> (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))) (LinearMap.hasCoeToFun.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u2, u5, u5} m m α (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6)))))) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) _inst_9) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u1, u2, u3, u4, u5, u5, u6, u6} R α β γ m m n n _inst_1 (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_9 _inst_10 _inst_11 f) A) B)) (HMul.hMul.{u4, u4, u4} γ γ γ (instHMul.{u4} γ (Distrib.toHasMul.{u4} γ (Ring.toDistrib.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))) (HPow.hPow.{u4, 0, u4} γ Nat γ (instHPow.{u4, 0} γ Nat (Monoid.Pow.{u4} γ (Ring.toMonoid.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))) (Matrix.det.{u4, u5} m (fun (a : m) (b : m) => _inst_4 a b) _inst_2 γ _inst_8 (Matrix.map.{u2, u4, u5, u5} m m α γ A (fun (a : α) => coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f a) (OfNat.ofNat.{u3} β 1 (OfNat.mk.{u3} β 1 (One.one.{u3} β (AddMonoidWithOne.toOne.{u3} β (AddGroupWithOne.toAddMonoidWithOne.{u3} β (AddCommGroupWithOne.toAddGroupWithOne.{u3} β (Ring.toAddCommGroupWithOne.{u3} β (CommRing.toRing.{u3} β _inst_7))))))))))) (Fintype.card.{u6} n _inst_3)) (HPow.hPow.{u4, 0, u4} γ Nat γ (instHPow.{u4, 0} γ Nat (Monoid.Pow.{u4} γ (Ring.toMonoid.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))) (Matrix.det.{u4, u6} n (fun (a : n) (b : n) => _inst_5 a b) _inst_3 γ _inst_8 (Matrix.map.{u3, u4, u6, u6} n n β γ B (fun (b : β) => coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (AddMonoidWithOne.toOne.{u2} α (AddGroupWithOne.toAddMonoidWithOne.{u2} α (AddCommGroupWithOne.toAddGroupWithOne.{u2} α (Ring.toAddCommGroupWithOne.{u2} α (CommRing.toRing.{u2} α _inst_6))))))))) b))) (Fintype.card.{u5} m _inst_2))))
 but is expected to have type
-  forall {R : Type.{u6}} {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {m : Type.{u5}} {n : Type.{u4}} [_inst_1 : CommSemiring.{u6} R] [_inst_2 : Fintype.{u5} m] [_inst_3 : Fintype.{u4} n] [_inst_4 : DecidableEq.{succ u5} m] [_inst_5 : DecidableEq.{succ u4} n] [_inst_6 : CommRing.{u3} α] [_inst_7 : CommRing.{u2} β] [_inst_8 : CommRing.{u1} γ] [_inst_9 : Module.{u6, u3} R α (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6)))))] [_inst_10 : Module.{u6, u2} R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))] [_inst_11 : Module.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))] (f : LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))), (forall (a : α) (b : α) (a' : β) (b' : β), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β (NonUnitalNonAssocRing.toMul.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) a' b')) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (HMul.hMul.{u3, u3, u3} α α α (instHMul.{u3} α (NonUnitalNonAssocRing.toMul.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) a b)) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f (HMul.hMul.{u3, u3, u3} α α α (instHMul.{u3} α (NonUnitalNonAssocRing.toMul.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) a b)) (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β (NonUnitalNonAssocRing.toMul.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) a' b')) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) b') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') (NonUnitalNonAssocRing.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') (NonAssocRing.toNonUnitalNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) a) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f a) a') (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) b) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f b) b'))) -> (forall (A : Matrix.{u5, u5, u3} m m α) (B : Matrix.{u4, u4, u2} n n β), Eq.{succ u1} γ (Matrix.det.{u1, max u5 u4} (Prod.{u5, u4} m n) (fun (a : Prod.{u5, u4} m n) (b : Prod.{u5, u4} m n) => instDecidableEqProd.{u5, u4} m n (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) a b) (instFintypeProd.{u5, u4} m n _inst_2 _inst_3) γ _inst_8 (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u5)) (succ u4), max (succ u2) (succ u4), max (max (succ u1) (succ u5)) (succ u4)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u5, u5, u3} m m α) => LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)) A) (Matrix.{u4, u4, u2} n n β) (fun (_x : Matrix.{u4, u4, u2} n n β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u4, u4, u2} n n β) => Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (max (max (succ u3) (succ u2)) (succ u1)) (succ u4)) (succ u5), max (succ u3) (succ u5), max (max (max (succ u2) (succ u1)) (succ u4)) (succ u5)} (LinearMap.{u6, u6, max u3 u5, max (max u1 u4 u5) u2 u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u5, u5, u3} m m α) (LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)) (Matrix.addCommMonoid.{u3, u5, u5} m m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6)))))) (LinearMap.addCommMonoid.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.module.{u3, u5, u5, u6} m m R α (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) _inst_9) (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, max u2 u4, max (max u1 u5) u4} R R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (Matrix.smulCommClass.{u1, max u5 u4, max u5 u4, u6, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R R γ (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))))) (Matrix.{u5, u5, u3} m m α) (fun (_x : Matrix.{u5, u5, u3} m m α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u5, u5, u3} m m α) => LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, max u3 u5, max (max (max u2 u1) u4) u5} R R (Matrix.{u5, u5, u3} m m α) (LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u3, u5, u5} m m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6)))))) (LinearMap.addCommMonoid.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.module.{u3, u5, u5, u6} m m R α (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) _inst_9) (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, max u2 u4, max (max u1 u5) u4} R R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (Matrix.smulCommClass.{u1, max u5 u4, max u5 u4, u6, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R R γ (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u6, u3, u2, u1, u5, u5, u4, u4} R α β γ m m n n _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_9 _inst_10 _inst_11 f) A) B)) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) γ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (NonUnitalNonAssocRing.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (NonAssocRing.toNonUnitalNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) _inst_8))))) (HPow.hPow.{u1, 0, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) Nat ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (instHPow.{u1, 0} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) Nat (Monoid.Pow.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (MonoidWithZero.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) _inst_8)))))) (Matrix.det.{u1, u5} m (fun (a : m) (b : m) => _inst_4 a b) _inst_2 ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) _inst_8 (Matrix.map.{u3, u1, u5, u5} m m α ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) A (fun (a : α) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) a) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f a) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))))) (Fintype.card.{u4} n _inst_3)) (HPow.hPow.{u1, 0, u1} γ Nat γ (instHPow.{u1, 0} γ Nat (Monoid.Pow.{u1} γ (MonoidWithZero.toMonoid.{u1} γ (Semiring.toMonoidWithZero.{u1} γ (CommSemiring.toSemiring.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8)))))) (Matrix.det.{u1, u4} n (fun (a : n) (b : n) => _inst_5 a b) _inst_3 γ _inst_8 (Matrix.map.{u2, u1, u4, u4} n n β γ B (fun (b : β) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (OfNat.ofNat.{u3} α 1 (One.toOfNat1.{u3} α (Semiring.toOne.{u3} α (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_6)))))) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f (OfNat.ofNat.{u3} α 1 (One.toOfNat1.{u3} α (Semiring.toOne.{u3} α (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_6)))))) b))) (Fintype.card.{u5} m _inst_2))))
+  forall {R : Type.{u6}} {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {m : Type.{u5}} {n : Type.{u4}} [_inst_1 : CommSemiring.{u6} R] [_inst_2 : Fintype.{u5} m] [_inst_3 : Fintype.{u4} n] [_inst_4 : DecidableEq.{succ u5} m] [_inst_5 : DecidableEq.{succ u4} n] [_inst_6 : CommRing.{u3} α] [_inst_7 : CommRing.{u2} β] [_inst_8 : CommRing.{u1} γ] [_inst_9 : Module.{u6, u3} R α (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6)))))] [_inst_10 : Module.{u6, u2} R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))] [_inst_11 : Module.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))] (f : LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))), (forall (a : α) (b : α) (a' : β) (b' : β), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β (NonUnitalNonAssocRing.toMul.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) a' b')) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (HMul.hMul.{u3, u3, u3} α α α (instHMul.{u3} α (NonUnitalNonAssocRing.toMul.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) a b)) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f (HMul.hMul.{u3, u3, u3} α α α (instHMul.{u3} α (NonUnitalNonAssocRing.toMul.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) a b)) (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β (NonUnitalNonAssocRing.toMul.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) a' b')) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) b') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') (NonUnitalNonAssocRing.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') (NonAssocRing.toNonUnitalNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) a') _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) a) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f a) a') (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) b) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f b) b'))) -> (forall (A : Matrix.{u5, u5, u3} m m α) (B : Matrix.{u4, u4, u2} n n β), Eq.{succ u1} γ (Matrix.det.{u1, max u5 u4} (Prod.{u5, u4} m n) (fun (a : Prod.{u5, u4} m n) (b : Prod.{u5, u4} m n) => instDecidableEqProd.{u5, u4} m n (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) a b) (instFintypeProd.{u5, u4} m n _inst_2 _inst_3) γ _inst_8 (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u5)) (succ u4), max (succ u2) (succ u4), max (max (succ u1) (succ u5)) (succ u4)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u5, u5, u3} m m α) => LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)) A) (Matrix.{u4, u4, u2} n n β) (fun (_x : Matrix.{u4, u4, u2} n n β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u4, u4, u2} n n β) => Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (max (max (succ u3) (succ u2)) (succ u1)) (succ u4)) (succ u5), max (succ u3) (succ u5), max (max (max (succ u2) (succ u1)) (succ u4)) (succ u5)} (LinearMap.{u6, u6, max u3 u5, max (max u1 u4 u5) u2 u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u5, u5, u3} m m α) (LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)) (Matrix.addCommMonoid.{u3, u5, u5} m m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6)))))) (LinearMap.addCommMonoid.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.module.{u3, u5, u5, u6} m m R α (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) _inst_9) (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, max u2 u4, max (max u1 u5) u4} R R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (Matrix.smulCommClass.{u1, max u5 u4, max u5 u4, u6, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R R γ (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))))) (Matrix.{u5, u5, u3} m m α) (fun (_x : Matrix.{u5, u5, u3} m m α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u5, u5, u3} m m α) => LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, max u3 u5, max (max (max u2 u1) u4) u5} R R (Matrix.{u5, u5, u3} m m α) (LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u3, u5, u5} m m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6)))))) (LinearMap.addCommMonoid.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.module.{u3, u5, u5, u6} m m R α (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) _inst_9) (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, max u2 u4, max (max u1 u5) u4} R R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (Matrix.smulCommClass.{u1, max u5 u4, max u5 u4, u6, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R R γ (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u6, u3, u2, u1, u5, u5, u4, u4} R α β γ m m n n _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_9 _inst_10 _inst_11 f) A) B)) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) γ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (NonUnitalNonAssocRing.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (NonAssocRing.toNonUnitalNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) _inst_8))))) (HPow.hPow.{u1, 0, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) Nat ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (instHPow.{u1, 0} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) Nat (Monoid.Pow.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (MonoidWithZero.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) _inst_8)))))) (Matrix.det.{u1, u5} m (fun (a : m) (b : m) => _inst_4 a b) _inst_2 ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) _inst_8 (Matrix.map.{u3, u1, u5, u5} m m α ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) A (fun (a : α) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) a) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f a) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))))) (Fintype.card.{u4} n _inst_3)) (HPow.hPow.{u1, 0, u1} γ Nat γ (instHPow.{u1, 0} γ Nat (Monoid.Pow.{u1} γ (MonoidWithZero.toMonoid.{u1} γ (Semiring.toMonoidWithZero.{u1} γ (CommSemiring.toSemiring.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8)))))) (Matrix.det.{u1, u4} n (fun (a : n) (b : n) => _inst_5 a b) _inst_3 γ _inst_8 (Matrix.map.{u2, u1, u4, u4} n n β γ B (fun (b : β) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (OfNat.ofNat.{u3} α 1 (One.toOfNat1.{u3} α (Semiring.toOne.{u3} α (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_6)))))) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f (OfNat.ofNat.{u3} α 1 (One.toOfNat1.{u3} α (Semiring.toOne.{u3} α (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_6)))))) b))) (Fintype.card.{u5} m _inst_2))))
 Case conversion may be inaccurate. Consider using '#align matrix.det_kronecker_map_bilinear Matrix.det_kroneckerMapBilinearₓ'. -/
 /-- `determinant` of `matrix.kronecker_map_bilinear`.
 
@@ -845,7 +845,7 @@ theorem diagonal_kroneckerTMul [DecidableEq l] (a : l → α) (B : Matrix m n α
 lean 3 declaration is
   forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {p : Type.{u8}} {q : Type.{u9}} {r : Type.{u10}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_3 : AddCommMonoid.{u3} β] [_inst_4 : AddCommMonoid.{u4} γ] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] [_inst_7 : Module.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (A : Matrix.{u5, u6, u2} l m α) (B : Matrix.{u7, u8, u3} n p β) (C : Matrix.{u9, u10, u4} q r γ), Eq.{succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)} (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (coeFn.{max 1 (max (succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4)) (succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4))) (succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)) (succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4)), max (succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4)) (succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4))} (Equiv.{succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4), succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)} (Matrix.{max (max u5 u7) u9, max (max u6 u8) u10, max u2 u3 u4} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (fun (_x : Equiv.{succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4), succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)} (Matrix.{max (max u5 u7) u9, max (max u6 u8) u10, max u2 u3 u4} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) => (Matrix.{max (max u5 u7) u9, max (max u6 u8) u10, max u2 u3 u4} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) -> (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Equiv.hasCoeToFun.{succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4), succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)} (Matrix.{max (max u5 u7) u9, max (max u6 u8) u10, max u2 u3 u4} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Matrix.reindex.{max u2 u3 u4, max u5 u7 u9, max (max u5 u7) u9, max (max u6 u8) u10, max u6 u8 u10} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Equiv.prodAssoc.{u5, u7, u9} l n q) (Equiv.prodAssoc.{u6, u8, u10} m p r)) (Matrix.map.{max (max u2 u3) u4, max u2 u3 u4, max (max u5 u7) u9, max (max u6 u8) u10} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Matrix.kroneckerMap.{max u2 u3, u4, max (max u2 u3) u4, max u5 u7, max u6 u8, u9, u10} (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) q r (TensorProduct.tmul.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u5, u6, u7, u8} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B) C) (coeFn.{max (succ (max (max u2 u3) u4)) (succ (max u2 u3 u4)), max (succ (max (max u2 u3) u4)) (succ (max u2 u3 u4))} (LinearEquiv.{u1, u1, max (max u2 u3) u4, max u2 u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.assoc._proof_1.{u1} R _inst_1) (TensorProduct.assoc._proof_2.{u1} R _inst_1) (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.module.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.module.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (fun (_x : LinearEquiv.{u1, u1, max (max u2 u3) u4, max u2 u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.assoc._proof_1.{u1} R _inst_1) (TensorProduct.assoc._proof_2.{u1} R _inst_1) (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.module.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.module.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) -> (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (LinearEquiv.hasCoeToFun.{u1, u1, max (max u2 u3) u4, max u2 u3 u4} R R (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.module.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.module.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.assoc._proof_1.{u1} R _inst_1) (TensorProduct.assoc._proof_2.{u1} R _inst_1)) (TensorProduct.assoc.{u1, u2, u3, u4} R _inst_1 α β γ _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (Matrix.kroneckerMap.{u2, max u3 u4, max u2 u3 u4, u5, u6, max u7 u9, max u8 u10} α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) l m (Prod.{u7, u9} n q) (Prod.{u8, u10} p r) (TensorProduct.tmul.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) A (Matrix.kroneckerMap.{u3, u4, max u3 u4, u7, u8, u9, u10} β γ (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) n p q r (TensorProduct.tmul.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) B C))
 but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u8}} {β : Type.{u5}} {γ : Type.{u2}} {l : Type.{u10}} {m : Type.{u9}} {n : Type.{u7}} {p : Type.{u6}} {q : Type.{u4}} {r : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u8} α] [_inst_3 : AddCommMonoid.{u5} β] [_inst_4 : AddCommMonoid.{u2} γ] [_inst_5 : Module.{u1, u8} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u5} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] [_inst_7 : Module.{u1, u2} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (A : Matrix.{u10, u9, u8} l m α) (B : Matrix.{u7, u6, u5} n p β) (C : Matrix.{u4, u3, u2} q r γ), Eq.{max (max (max (max (max (max (max (max (succ u8) (succ u5)) (succ u2)) (succ u10)) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.map.{max (max u8 u5) u2, max (max u8 u5) u2, max (max u10 u7) u4, max (max u9 u6) u3} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Matrix.kroneckerMap.{max u5 u8, u2, max u2 u5 u8, max u7 u10, max u6 u9, u4, u3} (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Prod.{u10, u7} l n) (Prod.{u9, u6} m p) q r (TensorProduct.tmul.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Matrix.kroneckerMap.{u8, u5, max u5 u8, u10, u9, u7, u6} α β (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B) C) (FunLike.coe.{max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (a : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) a) (SMulHomClass.toFunLike.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))))) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (TensorProduct.assoc.{u1, u8, u5, u2} R _inst_1 α β γ _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (FunLike.coe.{max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2))} (Equiv.{max (max (succ (max (max u8 u5) u2)) (succ (max (max u9 u6) u3))) (succ (max (max u10 u7) u4)), max (max (succ (max (max u8 u5) u2)) (succ (max (max u9 u6) u3))) (succ (max (max u10 u7) u4))} (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (fun (_x : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2))} (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Matrix.reindex.{max (max u8 u5) u2, max (max u10 u7) u4, max (max u10 u7) u4, max (max u9 u6) u3, max (max u9 u6) u3} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Equiv.prodAssoc.{u10, u7, u4} l n q) (Equiv.prodAssoc.{u9, u6, u3} m p r)) (Matrix.map.{max (max u8 u5) u2, max (max u8 u5) u2, max (max u10 u7) u4, max (max u9 u6) u3} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Matrix.kroneckerMap.{max u5 u8, u2, max u2 u5 u8, max u7 u10, max u6 u9, u4, u3} (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Prod.{u10, u7} l n) (Prod.{u9, u6} m p) q r (TensorProduct.tmul.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Matrix.kroneckerMap.{u8, u5, max u5 u8, u10, u9, u7, u6} α β (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B) C) (FunLike.coe.{max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) _x) (SMulHomClass.toFunLike.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))))) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (TensorProduct.assoc.{u1, u8, u5, u2} R _inst_1 α β γ _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (Matrix.kroneckerMap.{u8, max u2 u5, max (max u2 u5) u8, u10, u9, max u4 u7, max u3 u6} α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) l m (Prod.{u7, u4} n q) (Prod.{u6, u3} p r) (TensorProduct.tmul.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) A (Matrix.kroneckerMap.{u5, u2, max u2 u5, u7, u6, u4, u3} β γ (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) n p q r (TensorProduct.tmul.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) B C))
+  forall (R : Type.{u1}) {α : Type.{u8}} {β : Type.{u5}} {γ : Type.{u2}} {l : Type.{u10}} {m : Type.{u9}} {n : Type.{u7}} {p : Type.{u6}} {q : Type.{u4}} {r : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u8} α] [_inst_3 : AddCommMonoid.{u5} β] [_inst_4 : AddCommMonoid.{u2} γ] [_inst_5 : Module.{u1, u8} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u5} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] [_inst_7 : Module.{u1, u2} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (A : Matrix.{u10, u9, u8} l m α) (B : Matrix.{u7, u6, u5} n p β) (C : Matrix.{u4, u3, u2} q r γ), Eq.{max (max (max (max (max (max (max (max (succ u8) (succ u5)) (succ u2)) (succ u10)) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.map.{max (max u8 u5) u2, max (max u8 u5) u2, max (max u10 u7) u4, max (max u9 u6) u3} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Matrix.kroneckerMap.{max u5 u8, u2, max u2 u5 u8, max u7 u10, max u6 u9, u4, u3} (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Prod.{u10, u7} l n) (Prod.{u9, u6} m p) q r (TensorProduct.tmul.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Matrix.kroneckerMap.{u8, u5, max u5 u8, u10, u9, u7, u6} α β (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B) C) (FunLike.coe.{max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (a : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) a) (SMulHomClass.toFunLike.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))))) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (TensorProduct.assoc.{u1, u8, u5, u2} R _inst_1 α β γ _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (FunLike.coe.{max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2))} (Equiv.{max (max (succ (max (max u8 u5) u2)) (succ (max (max u9 u6) u3))) (succ (max (max u10 u7) u4)), max (max (succ (max (max u8 u5) u2)) (succ (max (max u9 u6) u3))) (succ (max (max u10 u7) u4))} (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (fun (_x : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2))} (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Matrix.reindex.{max (max u8 u5) u2, max (max u10 u7) u4, max (max u10 u7) u4, max (max u9 u6) u3, max (max u9 u6) u3} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Equiv.prodAssoc.{u10, u7, u4} l n q) (Equiv.prodAssoc.{u9, u6, u3} m p r)) (Matrix.map.{max (max u8 u5) u2, max (max u8 u5) u2, max (max u10 u7) u4, max (max u9 u6) u3} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Matrix.kroneckerMap.{max u5 u8, u2, max u2 u5 u8, max u7 u10, max u6 u9, u4, u3} (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Prod.{u10, u7} l n) (Prod.{u9, u6} m p) q r (TensorProduct.tmul.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Matrix.kroneckerMap.{u8, u5, max u5 u8, u10, u9, u7, u6} α β (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B) C) (FunLike.coe.{max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) _x) (SMulHomClass.toFunLike.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))))) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (TensorProduct.assoc.{u1, u8, u5, u2} R _inst_1 α β γ _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (Matrix.kroneckerMap.{u8, max u2 u5, max (max u2 u5) u8, u10, u9, max u4 u7, max u3 u6} α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) l m (Prod.{u7, u4} n q) (Prod.{u6, u3} p r) (TensorProduct.tmul.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) A (Matrix.kroneckerMap.{u5, u2, max u2 u5, u7, u6, u4, u3} β γ (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) n p q r (TensorProduct.tmul.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) B C))
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_assoc Matrix.kroneckerTMul_assocₓ'. -/
 @[simp]
 theorem kroneckerTMul_assoc (A : Matrix l m α) (B : Matrix n p β) (C : Matrix q r γ) :
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Filippo A. E. Nuccio, Eric Wieser
 
 ! This file was ported from Lean 3 source module data.matrix.kronecker
-! leanprover-community/mathlib commit 3e068ece210655b7b9a9477c3aff38a492400aa1
+! leanprover-community/mathlib commit 33c67ae661dd8988516ff7f247b0be3018cdd952
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -18,6 +18,9 @@ import Mathbin.RingTheory.TensorProduct
 /-!
 # Kronecker product of matrices
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This defines the [Kronecker product](https://en.wikipedia.org/wiki/Kronecker_product).
 
 ## Main definitions
Diff
@@ -225,7 +225,7 @@ theorem kroneckerMap_diagonal_right [Zero β] [Zero γ] [DecidableEq n] (f : α
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} [_inst_1 : Zero.{u1} α] [_inst_2 : Zero.{u3} γ] [_inst_3 : DecidableEq.{succ u4} l] (f : α -> β -> γ), (forall (b : β), Eq.{succ u3} γ (f (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α _inst_1))) b) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_2)))) -> (forall (a : l -> α) (B : Matrix.{u5, u6, u2} m n β), Eq.{succ (max (max u4 u5) (max u4 u6) u3)} (Matrix.{max u4 u5, max u4 u6, u3} (Prod.{u4, u5} l m) (Prod.{u4, u6} l n) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u4, u5, u6} α β γ l l m n f (Matrix.diagonal.{u1, u4} l α (fun (a : l) (b : l) => _inst_3 a b) _inst_1 a) B) (coeFn.{max 1 (max (succ (max (max u5 u4) (max u6 u4) u3)) (succ (max (max u4 u5) (max u4 u6) u3))) (succ (max (max u4 u5) (max u4 u6) u3)) (succ (max (max u5 u4) (max u6 u4) u3)), max (succ (max (max u5 u4) (max u6 u4) u3)) (succ (max (max u4 u5) (max u4 u6) u3))} (Equiv.{succ (max (max u5 u4) (max u6 u4) u3), succ (max (max u4 u5) (max u4 u6) u3)} (Matrix.{max u5 u4, max u6 u4, u3} (Prod.{u5, u4} m l) (Prod.{u6, u4} n l) γ) (Matrix.{max u4 u5, max u4 u6, u3} (Prod.{u4, u5} l m) (Prod.{u4, u6} l n) γ)) (fun (_x : Equiv.{succ (max (max u5 u4) (max u6 u4) u3), succ (max (max u4 u5) (max u4 u6) u3)} (Matrix.{max u5 u4, max u6 u4, u3} (Prod.{u5, u4} m l) (Prod.{u6, u4} n l) γ) (Matrix.{max u4 u5, max u4 u6, u3} (Prod.{u4, u5} l m) (Prod.{u4, u6} l n) γ)) => (Matrix.{max u5 u4, max u6 u4, u3} (Prod.{u5, u4} m l) (Prod.{u6, u4} n l) γ) -> (Matrix.{max u4 u5, max u4 u6, u3} (Prod.{u4, u5} l m) (Prod.{u4, u6} l n) γ)) (Equiv.hasCoeToFun.{succ (max (max u5 u4) (max u6 u4) u3), succ (max (max u4 u5) (max u4 u6) u3)} (Matrix.{max u5 u4, max u6 u4, u3} (Prod.{u5, u4} m l) (Prod.{u6, u4} n l) γ) (Matrix.{max u4 u5, max u4 u6, u3} (Prod.{u4, u5} l m) (Prod.{u4, u6} l n) γ)) (Matrix.reindex.{u3, max u4 u5, max u5 u4, max u6 u4, max u4 u6} (Prod.{u4, u5} l m) (Prod.{u5, u4} m l) (Prod.{u6, u4} n l) (Prod.{u4, u6} l n) γ (Equiv.prodComm.{u5, u4} m l) (Equiv.prodComm.{u6, u4} n l)) (Matrix.blockDiagonal.{u5, u6, u4, u3} m n l γ (fun (a : l) (b : l) => _inst_3 a b) _inst_2 (fun (i : l) => Matrix.map.{u2, u3, u5, u6} m n β γ B (fun (b : β) => f (a i) b)))))
 but is expected to have type
-  forall {α : Type.{u6}} {β : Type.{u1}} {γ : Type.{u5}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u2}} [_inst_1 : Zero.{u6} α] [_inst_2 : Zero.{u5} γ] [_inst_3 : DecidableEq.{succ u4} l] (f : α -> β -> γ), (forall (b : β), Eq.{succ u5} γ (f (OfNat.ofNat.{u6} α 0 (Zero.toOfNat0.{u6} α _inst_1)) b) (OfNat.ofNat.{u5} γ 0 (Zero.toOfNat0.{u5} γ _inst_2))) -> (forall (a : l -> α) (B : Matrix.{u3, u2, u1} m n β), Eq.{max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)} (Matrix.{max u3 u4, max u2 u4, u5} (Prod.{u4, u3} l m) (Prod.{u4, u2} l n) γ) (Matrix.kroneckerMap.{u6, u1, u5, u4, u4, u3, u2} α β γ l l m n f (Matrix.diagonal.{u6, u4} l α (fun (a : l) (b : l) => _inst_3 a b) _inst_1 a) B) (FunLike.coe.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2)} (Equiv.{max (max (succ u5) (succ (max u4 u2))) (succ (max u4 u3)), max (max (succ u5) (succ (max u4 u2))) (succ (max u4 u3))} (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u4, u3} l m) (Prod.{u4, u2} l n) γ)) (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) (fun (_x : Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) => Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u4, u3} l m) (Prod.{u4, u2} l n) γ) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2)} (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u4, u3} l m) (Prod.{u4, u2} l n) γ)) (Matrix.reindex.{u5, max u4 u3, max u4 u3, max u4 u2, max u4 u2} (Prod.{u4, u3} l m) (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) (Prod.{u4, u2} l n) γ (Equiv.prodComm.{u3, u4} m l) (Equiv.prodComm.{u2, u4} n l)) (Matrix.blockDiagonal.{u3, u2, u4, u5} m n l γ (fun (a : l) (b : l) => _inst_3 a b) _inst_2 (fun (i : l) => Matrix.map.{u1, u5, u3, u2} m n β γ B (fun (b : β) => f (a i) b)))))
+  forall {α : Type.{u6}} {β : Type.{u1}} {γ : Type.{u5}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u2}} [_inst_1 : Zero.{u6} α] [_inst_2 : Zero.{u5} γ] [_inst_3 : DecidableEq.{succ u4} l] (f : α -> β -> γ), (forall (b : β), Eq.{succ u5} γ (f (OfNat.ofNat.{u6} α 0 (Zero.toOfNat0.{u6} α _inst_1)) b) (OfNat.ofNat.{u5} γ 0 (Zero.toOfNat0.{u5} γ _inst_2))) -> (forall (a : l -> α) (B : Matrix.{u3, u2, u1} m n β), Eq.{max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)} (Matrix.{max u3 u4, max u2 u4, u5} (Prod.{u4, u3} l m) (Prod.{u4, u2} l n) γ) (Matrix.kroneckerMap.{u6, u1, u5, u4, u4, u3, u2} α β γ l l m n f (Matrix.diagonal.{u6, u4} l α (fun (a : l) (b : l) => _inst_3 a b) _inst_1 a) B) (FunLike.coe.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2)} (Equiv.{max (max (succ u5) (succ (max u4 u2))) (succ (max u4 u3)), max (max (succ u5) (succ (max u4 u2))) (succ (max u4 u3))} (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u4, u3} l m) (Prod.{u4, u2} l n) γ)) (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) (fun (_x : Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) => Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u4, u3} l m) (Prod.{u4, u2} l n) γ) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2)} (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u4, u3} l m) (Prod.{u4, u2} l n) γ)) (Matrix.reindex.{u5, max u4 u3, max u4 u3, max u4 u2, max u4 u2} (Prod.{u4, u3} l m) (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) (Prod.{u4, u2} l n) γ (Equiv.prodComm.{u3, u4} m l) (Equiv.prodComm.{u2, u4} n l)) (Matrix.blockDiagonal.{u3, u2, u4, u5} m n l γ (fun (a : l) (b : l) => _inst_3 a b) _inst_2 (fun (i : l) => Matrix.map.{u1, u5, u3, u2} m n β γ B (fun (b : β) => f (a i) b)))))
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_diagonal_left Matrix.kroneckerMap_diagonal_leftₓ'. -/
 theorem kroneckerMap_diagonal_left [Zero α] [Zero γ] [DecidableEq l] (f : α → β → γ)
     (hf : ∀ b, f 0 b = 0) (a : l → α) (B : Matrix m n β) :
@@ -254,7 +254,7 @@ theorem kroneckerMap_one_one [Zero α] [Zero β] [Zero γ] [One α] [One β] [On
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} {l' : Type.{u8}} {m' : Type.{u9}} {n' : Type.{u10}} {p' : Type.{u11}} (f : α -> β -> γ) (el : Equiv.{succ u4, succ u8} l l') (em : Equiv.{succ u5, succ u9} m m') (en : Equiv.{succ u6, succ u10} n n') (ep : Equiv.{succ u7, succ u11} p p') (M : Matrix.{u4, u5, u1} l m α) (N : Matrix.{u6, u7, u2} n p β), Eq.{succ (max (max u8 u10) (max u9 u11) u3)} (Matrix.{max u8 u10, max u9 u11, u3} (Prod.{u8, u10} l' n') (Prod.{u9, u11} m' p') γ) (Matrix.kroneckerMap.{u1, u2, u3, u8, u9, u10, u11} α β γ l' m' n' p' f (coeFn.{max 1 (max (succ (max u4 u5 u1)) (succ (max u8 u9 u1))) (succ (max u8 u9 u1)) (succ (max u4 u5 u1)), max (succ (max u4 u5 u1)) (succ (max u8 u9 u1))} (Equiv.{succ (max u4 u5 u1), succ (max u8 u9 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u8, u9, u1} l' m' α)) (fun (_x : Equiv.{succ (max u4 u5 u1), succ (max u8 u9 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u8, u9, u1} l' m' α)) => (Matrix.{u4, u5, u1} l m α) -> (Matrix.{u8, u9, u1} l' m' α)) (Equiv.hasCoeToFun.{succ (max u4 u5 u1), succ (max u8 u9 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u8, u9, u1} l' m' α)) (Matrix.reindex.{u1, u8, u4, u5, u9} l' l m m' α el em) M) (coeFn.{max 1 (max (succ (max u6 u7 u2)) (succ (max u10 u11 u2))) (succ (max u10 u11 u2)) (succ (max u6 u7 u2)), max (succ (max u6 u7 u2)) (succ (max u10 u11 u2))} (Equiv.{succ (max u6 u7 u2), succ (max u10 u11 u2)} (Matrix.{u6, u7, u2} n p β) (Matrix.{u10, u11, u2} n' p' β)) (fun (_x : Equiv.{succ (max u6 u7 u2), succ (max u10 u11 u2)} (Matrix.{u6, u7, u2} n p β) (Matrix.{u10, u11, u2} n' p' β)) => (Matrix.{u6, u7, u2} n p β) -> (Matrix.{u10, u11, u2} n' p' β)) (Equiv.hasCoeToFun.{succ (max u6 u7 u2), succ (max u10 u11 u2)} (Matrix.{u6, u7, u2} n p β) (Matrix.{u10, u11, u2} n' p' β)) (Matrix.reindex.{u2, u10, u6, u7, u11} n' n p p' β en ep) N)) (coeFn.{max 1 (max (succ (max (max u4 u6) (max u5 u7) u3)) (succ (max (max u8 u10) (max u9 u11) u3))) (succ (max (max u8 u10) (max u9 u11) u3)) (succ (max (max u4 u6) (max u5 u7) u3)), max (succ (max (max u4 u6) (max u5 u7) u3)) (succ (max (max u8 u10) (max u9 u11) u3))} (Equiv.{succ (max (max u4 u6) (max u5 u7) u3), succ (max (max u8 u10) (max u9 u11) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u8 u10, max u9 u11, u3} (Prod.{u8, u10} l' n') (Prod.{u9, u11} m' p') γ)) (fun (_x : Equiv.{succ (max (max u4 u6) (max u5 u7) u3), succ (max (max u8 u10) (max u9 u11) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u8 u10, max u9 u11, u3} (Prod.{u8, u10} l' n') (Prod.{u9, u11} m' p') γ)) => (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) -> (Matrix.{max u8 u10, max u9 u11, u3} (Prod.{u8, u10} l' n') (Prod.{u9, u11} m' p') γ)) (Equiv.hasCoeToFun.{succ (max (max u4 u6) (max u5 u7) u3), succ (max (max u8 u10) (max u9 u11) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u8 u10, max u9 u11, u3} (Prod.{u8, u10} l' n') (Prod.{u9, u11} m' p') γ)) (Matrix.reindex.{u3, max u8 u10, max u4 u6, max u5 u7, max u9 u11} (Prod.{u8, u10} l' n') (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (Prod.{u9, u11} m' p') γ (Equiv.prodCongr.{u4, u6, u8, u10} l n l' n' el en) (Equiv.prodCongr.{u5, u7, u9, u11} m p m' p' em ep)) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f M N))
 but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {l : Type.{u11}} {m : Type.{u9}} {n : Type.{u7}} {p : Type.{u5}} {l' : Type.{u10}} {m' : Type.{u8}} {n' : Type.{u6}} {p' : Type.{u4}} (f : α -> β -> γ) (el : Equiv.{succ u11, succ u10} l l') (em : Equiv.{succ u9, succ u8} m m') (en : Equiv.{succ u7, succ u6} n n') (ep : Equiv.{succ u5, succ u4} p p') (M : Matrix.{u11, u9, u3} l m α) (N : Matrix.{u7, u5, u2} n p β), Eq.{max (max (max (max (succ u1) (succ u10)) (succ u8)) (succ u6)) (succ u4)} (Matrix.{max u6 u10, max u4 u8, u1} (Prod.{u10, u6} l' n') (Prod.{u8, u4} m' p') γ) (Matrix.kroneckerMap.{u3, u2, u1, u10, u8, u6, u4} α β γ l' m' n' p' f (FunLike.coe.{max (max (max (max (succ u11) (succ u9)) (succ u10)) (succ u8)) (succ u3), max (max (succ u11) (succ u9)) (succ u3), max (max (succ u10) (succ u8)) (succ u3)} (Equiv.{max (max (succ u3) (succ u9)) (succ u11), max (max (succ u3) (succ u8)) (succ u10)} (Matrix.{u11, u9, u3} l m α) (Matrix.{u10, u8, u3} l' m' α)) (Matrix.{u11, u9, u3} l m α) (fun (_x : Matrix.{u11, u9, u3} l m α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{u11, u9, u3} l m α) => Matrix.{u10, u8, u3} l' m' α) _x) (Equiv.instFunLikeEquiv.{max (max (succ u11) (succ u9)) (succ u3), max (max (succ u10) (succ u8)) (succ u3)} (Matrix.{u11, u9, u3} l m α) (Matrix.{u10, u8, u3} l' m' α)) (Matrix.reindex.{u3, u10, u11, u9, u8} l' l m m' α el em) M) (FunLike.coe.{max (max (max (max (succ u7) (succ u5)) (succ u6)) (succ u4)) (succ u2), max (max (succ u7) (succ u5)) (succ u2), max (max (succ u6) (succ u4)) (succ u2)} (Equiv.{max (max (succ u2) (succ u5)) (succ u7), max (max (succ u2) (succ u4)) (succ u6)} (Matrix.{u7, u5, u2} n p β) (Matrix.{u6, u4, u2} n' p' β)) (Matrix.{u7, u5, u2} n p β) (fun (_x : Matrix.{u7, u5, u2} n p β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{u7, u5, u2} n p β) => Matrix.{u6, u4, u2} n' p' β) _x) (Equiv.instFunLikeEquiv.{max (max (succ u7) (succ u5)) (succ u2), max (max (succ u6) (succ u4)) (succ u2)} (Matrix.{u7, u5, u2} n p β) (Matrix.{u6, u4, u2} n' p' β)) (Matrix.reindex.{u2, u6, u7, u5, u4} n' n p p' β en ep) N)) (FunLike.coe.{max (max (max (max (max (max (max (max (succ u11) (succ u9)) (succ u7)) (succ u5)) (succ u10)) (succ u8)) (succ u6)) (succ u4)) (succ u1), max (max (max (max (succ u11) (succ u9)) (succ u7)) (succ u5)) (succ u1), max (max (max (max (succ u10) (succ u8)) (succ u6)) (succ u4)) (succ u1)} (Equiv.{max (max (succ u1) (succ (max u9 u5))) (succ (max u11 u7)), max (max (succ u1) (succ (max u8 u4))) (succ (max u10 u6))} (Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) (Matrix.{max u10 u6, max u8 u4, u1} (Prod.{u10, u6} l' n') (Prod.{u8, u4} m' p') γ)) (Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) (fun (_x : Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) => Matrix.{max u10 u6, max u8 u4, u1} (Prod.{u10, u6} l' n') (Prod.{u8, u4} m' p') γ) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u11) (succ u9)) (succ u7)) (succ u5)) (succ u1), max (max (max (max (succ u10) (succ u8)) (succ u6)) (succ u4)) (succ u1)} (Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) (Matrix.{max u10 u6, max u8 u4, u1} (Prod.{u10, u6} l' n') (Prod.{u8, u4} m' p') γ)) (Matrix.reindex.{u1, max u10 u6, max u11 u7, max u9 u5, max u8 u4} (Prod.{u10, u6} l' n') (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) (Prod.{u8, u4} m' p') γ (Equiv.prodCongr.{u11, u10, u7, u6} l l' n n' el en) (Equiv.prodCongr.{u9, u8, u5, u4} m m' p p' em ep)) (Matrix.kroneckerMap.{u3, u2, u1, u11, u9, u7, u5} α β γ l m n p f M N))
+  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {l : Type.{u11}} {m : Type.{u9}} {n : Type.{u7}} {p : Type.{u5}} {l' : Type.{u10}} {m' : Type.{u8}} {n' : Type.{u6}} {p' : Type.{u4}} (f : α -> β -> γ) (el : Equiv.{succ u11, succ u10} l l') (em : Equiv.{succ u9, succ u8} m m') (en : Equiv.{succ u7, succ u6} n n') (ep : Equiv.{succ u5, succ u4} p p') (M : Matrix.{u11, u9, u3} l m α) (N : Matrix.{u7, u5, u2} n p β), Eq.{max (max (max (max (succ u1) (succ u10)) (succ u8)) (succ u6)) (succ u4)} (Matrix.{max u6 u10, max u4 u8, u1} (Prod.{u10, u6} l' n') (Prod.{u8, u4} m' p') γ) (Matrix.kroneckerMap.{u3, u2, u1, u10, u8, u6, u4} α β γ l' m' n' p' f (FunLike.coe.{max (max (max (max (succ u11) (succ u9)) (succ u10)) (succ u8)) (succ u3), max (max (succ u11) (succ u9)) (succ u3), max (max (succ u10) (succ u8)) (succ u3)} (Equiv.{max (max (succ u3) (succ u9)) (succ u11), max (max (succ u3) (succ u8)) (succ u10)} (Matrix.{u11, u9, u3} l m α) (Matrix.{u10, u8, u3} l' m' α)) (Matrix.{u11, u9, u3} l m α) (fun (_x : Matrix.{u11, u9, u3} l m α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u11, u9, u3} l m α) => Matrix.{u10, u8, u3} l' m' α) _x) (Equiv.instFunLikeEquiv.{max (max (succ u11) (succ u9)) (succ u3), max (max (succ u10) (succ u8)) (succ u3)} (Matrix.{u11, u9, u3} l m α) (Matrix.{u10, u8, u3} l' m' α)) (Matrix.reindex.{u3, u10, u11, u9, u8} l' l m m' α el em) M) (FunLike.coe.{max (max (max (max (succ u7) (succ u5)) (succ u6)) (succ u4)) (succ u2), max (max (succ u7) (succ u5)) (succ u2), max (max (succ u6) (succ u4)) (succ u2)} (Equiv.{max (max (succ u2) (succ u5)) (succ u7), max (max (succ u2) (succ u4)) (succ u6)} (Matrix.{u7, u5, u2} n p β) (Matrix.{u6, u4, u2} n' p' β)) (Matrix.{u7, u5, u2} n p β) (fun (_x : Matrix.{u7, u5, u2} n p β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u7, u5, u2} n p β) => Matrix.{u6, u4, u2} n' p' β) _x) (Equiv.instFunLikeEquiv.{max (max (succ u7) (succ u5)) (succ u2), max (max (succ u6) (succ u4)) (succ u2)} (Matrix.{u7, u5, u2} n p β) (Matrix.{u6, u4, u2} n' p' β)) (Matrix.reindex.{u2, u6, u7, u5, u4} n' n p p' β en ep) N)) (FunLike.coe.{max (max (max (max (max (max (max (max (succ u11) (succ u9)) (succ u7)) (succ u5)) (succ u10)) (succ u8)) (succ u6)) (succ u4)) (succ u1), max (max (max (max (succ u11) (succ u9)) (succ u7)) (succ u5)) (succ u1), max (max (max (max (succ u10) (succ u8)) (succ u6)) (succ u4)) (succ u1)} (Equiv.{max (max (succ u1) (succ (max u9 u5))) (succ (max u11 u7)), max (max (succ u1) (succ (max u8 u4))) (succ (max u10 u6))} (Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) (Matrix.{max u10 u6, max u8 u4, u1} (Prod.{u10, u6} l' n') (Prod.{u8, u4} m' p') γ)) (Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) (fun (_x : Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) => Matrix.{max u10 u6, max u8 u4, u1} (Prod.{u10, u6} l' n') (Prod.{u8, u4} m' p') γ) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u11) (succ u9)) (succ u7)) (succ u5)) (succ u1), max (max (max (max (succ u10) (succ u8)) (succ u6)) (succ u4)) (succ u1)} (Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) (Matrix.{max u10 u6, max u8 u4, u1} (Prod.{u10, u6} l' n') (Prod.{u8, u4} m' p') γ)) (Matrix.reindex.{u1, max u10 u6, max u11 u7, max u9 u5, max u8 u4} (Prod.{u10, u6} l' n') (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) (Prod.{u8, u4} m' p') γ (Equiv.prodCongr.{u11, u10, u7, u6} l l' n n' el en) (Equiv.prodCongr.{u9, u8, u5, u4} m m' p p' em ep)) (Matrix.kroneckerMap.{u3, u2, u1, u11, u9, u7, u5} α β γ l m n p f M N))
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_reindex Matrix.kroneckerMap_reindexₓ'. -/
 theorem kroneckerMap_reindex (f : α → β → γ) (el : l ≃ l') (em : m ≃ m') (en : n ≃ n') (ep : p ≃ p')
     (M : Matrix l m α) (N : Matrix n p β) :
@@ -269,7 +269,7 @@ theorem kroneckerMap_reindex (f : α → β → γ) (el : l ≃ l') (em : m ≃
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {l' : Type.{u7}} {m' : Type.{u8}} {n' : Type.{u9}} (f : α -> β -> γ) (el : Equiv.{succ u4, succ u7} l l') (em : Equiv.{succ u5, succ u8} m m') (M : Matrix.{u4, u5, u1} l m α) (N : Matrix.{u6, u9, u2} n n' β), Eq.{succ (max (max u7 u6) (max u8 u9) u3)} (Matrix.{max u7 u6, max u8 u9, u3} (Prod.{u7, u6} l' n) (Prod.{u8, u9} m' n') γ) (Matrix.kroneckerMap.{u1, u2, u3, u7, u8, u6, u9} α β γ l' m' n n' f (coeFn.{max 1 (max (succ (max u4 u5 u1)) (succ (max u7 u8 u1))) (succ (max u7 u8 u1)) (succ (max u4 u5 u1)), max (succ (max u4 u5 u1)) (succ (max u7 u8 u1))} (Equiv.{succ (max u4 u5 u1), succ (max u7 u8 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u7, u8, u1} l' m' α)) (fun (_x : Equiv.{succ (max u4 u5 u1), succ (max u7 u8 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u7, u8, u1} l' m' α)) => (Matrix.{u4, u5, u1} l m α) -> (Matrix.{u7, u8, u1} l' m' α)) (Equiv.hasCoeToFun.{succ (max u4 u5 u1), succ (max u7 u8 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u7, u8, u1} l' m' α)) (Matrix.reindex.{u1, u7, u4, u5, u8} l' l m m' α el em) M) N) (coeFn.{max 1 (max (succ (max (max u4 u6) (max u5 u9) u3)) (succ (max (max u7 u6) (max u8 u9) u3))) (succ (max (max u7 u6) (max u8 u9) u3)) (succ (max (max u4 u6) (max u5 u9) u3)), max (succ (max (max u4 u6) (max u5 u9) u3)) (succ (max (max u7 u6) (max u8 u9) u3))} (Equiv.{succ (max (max u4 u6) (max u5 u9) u3), succ (max (max u7 u6) (max u8 u9) u3)} (Matrix.{max u4 u6, max u5 u9, u3} (Prod.{u4, u6} l n) (Prod.{u5, u9} m n') γ) (Matrix.{max u7 u6, max u8 u9, u3} (Prod.{u7, u6} l' n) (Prod.{u8, u9} m' n') γ)) (fun (_x : Equiv.{succ (max (max u4 u6) (max u5 u9) u3), succ (max (max u7 u6) (max u8 u9) u3)} (Matrix.{max u4 u6, max u5 u9, u3} (Prod.{u4, u6} l n) (Prod.{u5, u9} m n') γ) (Matrix.{max u7 u6, max u8 u9, u3} (Prod.{u7, u6} l' n) (Prod.{u8, u9} m' n') γ)) => (Matrix.{max u4 u6, max u5 u9, u3} (Prod.{u4, u6} l n) (Prod.{u5, u9} m n') γ) -> (Matrix.{max u7 u6, max u8 u9, u3} (Prod.{u7, u6} l' n) (Prod.{u8, u9} m' n') γ)) (Equiv.hasCoeToFun.{succ (max (max u4 u6) (max u5 u9) u3), succ (max (max u7 u6) (max u8 u9) u3)} (Matrix.{max u4 u6, max u5 u9, u3} (Prod.{u4, u6} l n) (Prod.{u5, u9} m n') γ) (Matrix.{max u7 u6, max u8 u9, u3} (Prod.{u7, u6} l' n) (Prod.{u8, u9} m' n') γ)) (Matrix.reindex.{u3, max u7 u6, max u4 u6, max u5 u9, max u8 u9} (Prod.{u7, u6} l' n) (Prod.{u4, u6} l n) (Prod.{u5, u9} m n') (Prod.{u8, u9} m' n') γ (Equiv.prodCongr.{u4, u6, u7, u6} l n l' n el (Equiv.refl.{succ u6} n)) (Equiv.prodCongr.{u5, u9, u8, u9} m n' m' n' em (Equiv.refl.{succ u9} n'))) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u9} α β γ l m n n' f M N))
 but is expected to have type
-  forall {α : Type.{u5}} {β : Type.{u2}} {γ : Type.{u1}} {l : Type.{u9}} {m : Type.{u7}} {n : Type.{u4}} {l' : Type.{u8}} {m' : Type.{u6}} {n' : Type.{u3}} (f : α -> β -> γ) (el : Equiv.{succ u9, succ u8} l l') (em : Equiv.{succ u7, succ u6} m m') (M : Matrix.{u9, u7, u5} l m α) (N : Matrix.{u4, u3, u2} n n' β), Eq.{max (max (max (max (succ u1) (succ u4)) (succ u8)) (succ u6)) (succ u3)} (Matrix.{max u4 u8, max u3 u6, u1} (Prod.{u8, u4} l' n) (Prod.{u6, u3} m' n') γ) (Matrix.kroneckerMap.{u5, u2, u1, u8, u6, u4, u3} α β γ l' m' n n' f (FunLike.coe.{max (max (max (max (succ u9) (succ u7)) (succ u8)) (succ u6)) (succ u5), max (max (succ u9) (succ u7)) (succ u5), max (max (succ u8) (succ u6)) (succ u5)} (Equiv.{max (max (succ u5) (succ u7)) (succ u9), max (max (succ u5) (succ u6)) (succ u8)} (Matrix.{u9, u7, u5} l m α) (Matrix.{u8, u6, u5} l' m' α)) (Matrix.{u9, u7, u5} l m α) (fun (_x : Matrix.{u9, u7, u5} l m α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{u9, u7, u5} l m α) => Matrix.{u8, u6, u5} l' m' α) _x) (Equiv.instFunLikeEquiv.{max (max (succ u9) (succ u7)) (succ u5), max (max (succ u8) (succ u6)) (succ u5)} (Matrix.{u9, u7, u5} l m α) (Matrix.{u8, u6, u5} l' m' α)) (Matrix.reindex.{u5, u8, u9, u7, u6} l' l m m' α el em) M) N) (FunLike.coe.{max (max (max (max (max (max (succ u9) (succ u7)) (succ u8)) (succ u6)) (succ u1)) (succ u4)) (succ u3), max (max (max (max (succ u9) (succ u7)) (succ u1)) (succ u4)) (succ u3), max (max (max (max (succ u8) (succ u6)) (succ u1)) (succ u4)) (succ u3)} (Equiv.{max (max (succ u1) (succ (max u7 u3))) (succ (max u9 u4)), max (max (succ u1) (succ (max u6 u3))) (succ (max u8 u4))} (Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) (Matrix.{max u8 u4, max u6 u3, u1} (Prod.{u8, u4} l' n) (Prod.{u6, u3} m' n') γ)) (Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) (fun (_x : Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) => Matrix.{max u8 u4, max u6 u3, u1} (Prod.{u8, u4} l' n) (Prod.{u6, u3} m' n') γ) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u9) (succ u7)) (succ u1)) (succ u4)) (succ u3), max (max (max (max (succ u8) (succ u6)) (succ u1)) (succ u4)) (succ u3)} (Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) (Matrix.{max u8 u4, max u6 u3, u1} (Prod.{u8, u4} l' n) (Prod.{u6, u3} m' n') γ)) (Matrix.reindex.{u1, max u8 u4, max u9 u4, max u7 u3, max u6 u3} (Prod.{u8, u4} l' n) (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') (Prod.{u6, u3} m' n') γ (Equiv.prodCongr.{u9, u8, u4, u4} l l' n n el (Equiv.refl.{succ u4} n)) (Equiv.prodCongr.{u7, u6, u3, u3} m m' n' n' em (Equiv.refl.{succ u3} n'))) (Matrix.kroneckerMap.{u5, u2, u1, u9, u7, u4, u3} α β γ l m n n' f M N))
+  forall {α : Type.{u5}} {β : Type.{u2}} {γ : Type.{u1}} {l : Type.{u9}} {m : Type.{u7}} {n : Type.{u4}} {l' : Type.{u8}} {m' : Type.{u6}} {n' : Type.{u3}} (f : α -> β -> γ) (el : Equiv.{succ u9, succ u8} l l') (em : Equiv.{succ u7, succ u6} m m') (M : Matrix.{u9, u7, u5} l m α) (N : Matrix.{u4, u3, u2} n n' β), Eq.{max (max (max (max (succ u1) (succ u4)) (succ u8)) (succ u6)) (succ u3)} (Matrix.{max u4 u8, max u3 u6, u1} (Prod.{u8, u4} l' n) (Prod.{u6, u3} m' n') γ) (Matrix.kroneckerMap.{u5, u2, u1, u8, u6, u4, u3} α β γ l' m' n n' f (FunLike.coe.{max (max (max (max (succ u9) (succ u7)) (succ u8)) (succ u6)) (succ u5), max (max (succ u9) (succ u7)) (succ u5), max (max (succ u8) (succ u6)) (succ u5)} (Equiv.{max (max (succ u5) (succ u7)) (succ u9), max (max (succ u5) (succ u6)) (succ u8)} (Matrix.{u9, u7, u5} l m α) (Matrix.{u8, u6, u5} l' m' α)) (Matrix.{u9, u7, u5} l m α) (fun (_x : Matrix.{u9, u7, u5} l m α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u9, u7, u5} l m α) => Matrix.{u8, u6, u5} l' m' α) _x) (Equiv.instFunLikeEquiv.{max (max (succ u9) (succ u7)) (succ u5), max (max (succ u8) (succ u6)) (succ u5)} (Matrix.{u9, u7, u5} l m α) (Matrix.{u8, u6, u5} l' m' α)) (Matrix.reindex.{u5, u8, u9, u7, u6} l' l m m' α el em) M) N) (FunLike.coe.{max (max (max (max (max (max (succ u9) (succ u7)) (succ u8)) (succ u6)) (succ u1)) (succ u4)) (succ u3), max (max (max (max (succ u9) (succ u7)) (succ u1)) (succ u4)) (succ u3), max (max (max (max (succ u8) (succ u6)) (succ u1)) (succ u4)) (succ u3)} (Equiv.{max (max (succ u1) (succ (max u7 u3))) (succ (max u9 u4)), max (max (succ u1) (succ (max u6 u3))) (succ (max u8 u4))} (Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) (Matrix.{max u8 u4, max u6 u3, u1} (Prod.{u8, u4} l' n) (Prod.{u6, u3} m' n') γ)) (Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) (fun (_x : Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) => Matrix.{max u8 u4, max u6 u3, u1} (Prod.{u8, u4} l' n) (Prod.{u6, u3} m' n') γ) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u9) (succ u7)) (succ u1)) (succ u4)) (succ u3), max (max (max (max (succ u8) (succ u6)) (succ u1)) (succ u4)) (succ u3)} (Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) (Matrix.{max u8 u4, max u6 u3, u1} (Prod.{u8, u4} l' n) (Prod.{u6, u3} m' n') γ)) (Matrix.reindex.{u1, max u8 u4, max u9 u4, max u7 u3, max u6 u3} (Prod.{u8, u4} l' n) (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') (Prod.{u6, u3} m' n') γ (Equiv.prodCongr.{u9, u8, u4, u4} l l' n n el (Equiv.refl.{succ u4} n)) (Equiv.prodCongr.{u7, u6, u3, u3} m m' n' n' em (Equiv.refl.{succ u3} n'))) (Matrix.kroneckerMap.{u5, u2, u1, u9, u7, u4, u3} α β γ l m n n' f M N))
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_reindex_left Matrix.kroneckerMap_reindex_leftₓ'. -/
 theorem kroneckerMap_reindex_left (f : α → β → γ) (el : l ≃ l') (em : m ≃ m') (M : Matrix l m α)
     (N : Matrix n n' β) :
@@ -282,7 +282,7 @@ theorem kroneckerMap_reindex_left (f : α → β → γ) (el : l ≃ l') (em : m
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {l' : Type.{u7}} {m' : Type.{u8}} {n' : Type.{u9}} (f : α -> β -> γ) (em : Equiv.{succ u5, succ u8} m m') (en : Equiv.{succ u6, succ u9} n n') (M : Matrix.{u4, u7, u1} l l' α) (N : Matrix.{u5, u6, u2} m n β), Eq.{succ (max (max u4 u8) (max u7 u9) u3)} (Matrix.{max u4 u8, max u7 u9, u3} (Prod.{u4, u8} l m') (Prod.{u7, u9} l' n') γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u7, u8, u9} α β γ l l' m' n' f M (coeFn.{max 1 (max (succ (max u5 u6 u2)) (succ (max u8 u9 u2))) (succ (max u8 u9 u2)) (succ (max u5 u6 u2)), max (succ (max u5 u6 u2)) (succ (max u8 u9 u2))} (Equiv.{succ (max u5 u6 u2), succ (max u8 u9 u2)} (Matrix.{u5, u6, u2} m n β) (Matrix.{u8, u9, u2} m' n' β)) (fun (_x : Equiv.{succ (max u5 u6 u2), succ (max u8 u9 u2)} (Matrix.{u5, u6, u2} m n β) (Matrix.{u8, u9, u2} m' n' β)) => (Matrix.{u5, u6, u2} m n β) -> (Matrix.{u8, u9, u2} m' n' β)) (Equiv.hasCoeToFun.{succ (max u5 u6 u2), succ (max u8 u9 u2)} (Matrix.{u5, u6, u2} m n β) (Matrix.{u8, u9, u2} m' n' β)) (Matrix.reindex.{u2, u8, u5, u6, u9} m' m n n' β em en) N)) (coeFn.{max 1 (max (succ (max (max u4 u5) (max u7 u6) u3)) (succ (max (max u4 u8) (max u7 u9) u3))) (succ (max (max u4 u8) (max u7 u9) u3)) (succ (max (max u4 u5) (max u7 u6) u3)), max (succ (max (max u4 u5) (max u7 u6) u3)) (succ (max (max u4 u8) (max u7 u9) u3))} (Equiv.{succ (max (max u4 u5) (max u7 u6) u3), succ (max (max u4 u8) (max u7 u9) u3)} (Matrix.{max u4 u5, max u7 u6, u3} (Prod.{u4, u5} l m) (Prod.{u7, u6} l' n) γ) (Matrix.{max u4 u8, max u7 u9, u3} (Prod.{u4, u8} l m') (Prod.{u7, u9} l' n') γ)) (fun (_x : Equiv.{succ (max (max u4 u5) (max u7 u6) u3), succ (max (max u4 u8) (max u7 u9) u3)} (Matrix.{max u4 u5, max u7 u6, u3} (Prod.{u4, u5} l m) (Prod.{u7, u6} l' n) γ) (Matrix.{max u4 u8, max u7 u9, u3} (Prod.{u4, u8} l m') (Prod.{u7, u9} l' n') γ)) => (Matrix.{max u4 u5, max u7 u6, u3} (Prod.{u4, u5} l m) (Prod.{u7, u6} l' n) γ) -> (Matrix.{max u4 u8, max u7 u9, u3} (Prod.{u4, u8} l m') (Prod.{u7, u9} l' n') γ)) (Equiv.hasCoeToFun.{succ (max (max u4 u5) (max u7 u6) u3), succ (max (max u4 u8) (max u7 u9) u3)} (Matrix.{max u4 u5, max u7 u6, u3} (Prod.{u4, u5} l m) (Prod.{u7, u6} l' n) γ) (Matrix.{max u4 u8, max u7 u9, u3} (Prod.{u4, u8} l m') (Prod.{u7, u9} l' n') γ)) (Matrix.reindex.{u3, max u4 u8, max u4 u5, max u7 u6, max u7 u9} (Prod.{u4, u8} l m') (Prod.{u4, u5} l m) (Prod.{u7, u6} l' n) (Prod.{u7, u9} l' n') γ (Equiv.prodCongr.{u4, u5, u4, u8} l m l m' (Equiv.refl.{succ u4} l) em) (Equiv.prodCongr.{u7, u6, u7, u9} l' n l' n' (Equiv.refl.{succ u7} l') en)) (Matrix.kroneckerMap.{u1, u2, u3, u4, u7, u5, u6} α β γ l l' m n f M N))
 but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {l : Type.{u5}} {m : Type.{u9}} {n : Type.{u7}} {l' : Type.{u4}} {m' : Type.{u8}} {n' : Type.{u6}} (f : α -> β -> γ) (em : Equiv.{succ u9, succ u8} m m') (en : Equiv.{succ u7, succ u6} n n') (M : Matrix.{u5, u4, u3} l l' α) (N : Matrix.{u9, u7, u2} m n β), Eq.{max (max (max (max (succ u1) (succ u5)) (succ u4)) (succ u8)) (succ u6)} (Matrix.{max u8 u5, max u6 u4, u1} (Prod.{u5, u8} l m') (Prod.{u4, u6} l' n') γ) (Matrix.kroneckerMap.{u3, u2, u1, u5, u4, u8, u6} α β γ l l' m' n' f M (FunLike.coe.{max (max (max (max (succ u9) (succ u7)) (succ u8)) (succ u6)) (succ u2), max (max (succ u9) (succ u7)) (succ u2), max (max (succ u8) (succ u6)) (succ u2)} (Equiv.{max (max (succ u2) (succ u7)) (succ u9), max (max (succ u2) (succ u6)) (succ u8)} (Matrix.{u9, u7, u2} m n β) (Matrix.{u8, u6, u2} m' n' β)) (Matrix.{u9, u7, u2} m n β) (fun (_x : Matrix.{u9, u7, u2} m n β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{u9, u7, u2} m n β) => Matrix.{u8, u6, u2} m' n' β) _x) (Equiv.instFunLikeEquiv.{max (max (succ u9) (succ u7)) (succ u2), max (max (succ u8) (succ u6)) (succ u2)} (Matrix.{u9, u7, u2} m n β) (Matrix.{u8, u6, u2} m' n' β)) (Matrix.reindex.{u2, u8, u9, u7, u6} m' m n n' β em en) N)) (FunLike.coe.{max (max (max (max (max (max (succ u9) (succ u7)) (succ u8)) (succ u6)) (succ u1)) (succ u5)) (succ u4), max (max (max (max (succ u9) (succ u7)) (succ u1)) (succ u5)) (succ u4), max (max (max (max (succ u8) (succ u6)) (succ u1)) (succ u5)) (succ u4)} (Equiv.{max (max (succ u1) (succ (max u7 u4))) (succ (max u9 u5)), max (max (succ u1) (succ (max u6 u4))) (succ (max u8 u5))} (Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) (Matrix.{max u8 u5, max u6 u4, u1} (Prod.{u5, u8} l m') (Prod.{u4, u6} l' n') γ)) (Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) (fun (_x : Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) => Matrix.{max u8 u5, max u6 u4, u1} (Prod.{u5, u8} l m') (Prod.{u4, u6} l' n') γ) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u9) (succ u7)) (succ u1)) (succ u5)) (succ u4), max (max (max (max (succ u8) (succ u6)) (succ u1)) (succ u5)) (succ u4)} (Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) (Matrix.{max u8 u5, max u6 u4, u1} (Prod.{u5, u8} l m') (Prod.{u4, u6} l' n') γ)) (Matrix.reindex.{u1, max u8 u5, max u9 u5, max u7 u4, max u6 u4} (Prod.{u5, u8} l m') (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) (Prod.{u4, u6} l' n') γ (Equiv.prodCongr.{u5, u5, u9, u8} l l m m' (Equiv.refl.{succ u5} l) em) (Equiv.prodCongr.{u4, u4, u7, u6} l' l' n n' (Equiv.refl.{succ u4} l') en)) (Matrix.kroneckerMap.{u3, u2, u1, u5, u4, u9, u7} α β γ l l' m n f M N))
+  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {l : Type.{u5}} {m : Type.{u9}} {n : Type.{u7}} {l' : Type.{u4}} {m' : Type.{u8}} {n' : Type.{u6}} (f : α -> β -> γ) (em : Equiv.{succ u9, succ u8} m m') (en : Equiv.{succ u7, succ u6} n n') (M : Matrix.{u5, u4, u3} l l' α) (N : Matrix.{u9, u7, u2} m n β), Eq.{max (max (max (max (succ u1) (succ u5)) (succ u4)) (succ u8)) (succ u6)} (Matrix.{max u8 u5, max u6 u4, u1} (Prod.{u5, u8} l m') (Prod.{u4, u6} l' n') γ) (Matrix.kroneckerMap.{u3, u2, u1, u5, u4, u8, u6} α β γ l l' m' n' f M (FunLike.coe.{max (max (max (max (succ u9) (succ u7)) (succ u8)) (succ u6)) (succ u2), max (max (succ u9) (succ u7)) (succ u2), max (max (succ u8) (succ u6)) (succ u2)} (Equiv.{max (max (succ u2) (succ u7)) (succ u9), max (max (succ u2) (succ u6)) (succ u8)} (Matrix.{u9, u7, u2} m n β) (Matrix.{u8, u6, u2} m' n' β)) (Matrix.{u9, u7, u2} m n β) (fun (_x : Matrix.{u9, u7, u2} m n β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u9, u7, u2} m n β) => Matrix.{u8, u6, u2} m' n' β) _x) (Equiv.instFunLikeEquiv.{max (max (succ u9) (succ u7)) (succ u2), max (max (succ u8) (succ u6)) (succ u2)} (Matrix.{u9, u7, u2} m n β) (Matrix.{u8, u6, u2} m' n' β)) (Matrix.reindex.{u2, u8, u9, u7, u6} m' m n n' β em en) N)) (FunLike.coe.{max (max (max (max (max (max (succ u9) (succ u7)) (succ u8)) (succ u6)) (succ u1)) (succ u5)) (succ u4), max (max (max (max (succ u9) (succ u7)) (succ u1)) (succ u5)) (succ u4), max (max (max (max (succ u8) (succ u6)) (succ u1)) (succ u5)) (succ u4)} (Equiv.{max (max (succ u1) (succ (max u7 u4))) (succ (max u9 u5)), max (max (succ u1) (succ (max u6 u4))) (succ (max u8 u5))} (Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) (Matrix.{max u8 u5, max u6 u4, u1} (Prod.{u5, u8} l m') (Prod.{u4, u6} l' n') γ)) (Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) (fun (_x : Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) => Matrix.{max u8 u5, max u6 u4, u1} (Prod.{u5, u8} l m') (Prod.{u4, u6} l' n') γ) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u9) (succ u7)) (succ u1)) (succ u5)) (succ u4), max (max (max (max (succ u8) (succ u6)) (succ u1)) (succ u5)) (succ u4)} (Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) (Matrix.{max u8 u5, max u6 u4, u1} (Prod.{u5, u8} l m') (Prod.{u4, u6} l' n') γ)) (Matrix.reindex.{u1, max u8 u5, max u9 u5, max u7 u4, max u6 u4} (Prod.{u5, u8} l m') (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) (Prod.{u4, u6} l' n') γ (Equiv.prodCongr.{u5, u5, u9, u8} l l m m' (Equiv.refl.{succ u5} l) em) (Equiv.prodCongr.{u4, u4, u7, u6} l' l' n n' (Equiv.refl.{succ u4} l') en)) (Matrix.kroneckerMap.{u3, u2, u1, u5, u4, u9, u7} α β γ l l' m n f M N))
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_reindex_right Matrix.kroneckerMap_reindex_rightₓ'. -/
 theorem kroneckerMap_reindex_right (f : α → β → γ) (em : m ≃ m') (en : n ≃ n') (M : Matrix l l' α)
     (N : Matrix m n β) :
@@ -295,7 +295,7 @@ theorem kroneckerMap_reindex_right (f : α → β → γ) (em : m ≃ m') (en :
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} {q : Type.{u8}} {r : Type.{u9}} {δ : Type.{u10}} {ξ : Type.{u11}} {ω : Type.{u12}} {ω' : Type.{u13}} (f : α -> β -> γ) (g : γ -> δ -> ω) (f' : α -> ξ -> ω') (g' : β -> δ -> ξ) (A : Matrix.{u4, u5, u1} l m α) (B : Matrix.{u6, u7, u2} n p β) (D : Matrix.{u8, u9, u10} q r δ) (φ : Equiv.{succ u12, succ u13} ω ω'), (forall (a : α) (b : β) (d : δ), Eq.{succ u13} ω' (coeFn.{max 1 (max (succ u12) (succ u13)) (succ u13) (succ u12), max (succ u12) (succ u13)} (Equiv.{succ u12, succ u13} ω ω') (fun (_x : Equiv.{succ u12, succ u13} ω ω') => ω -> ω') (Equiv.hasCoeToFun.{succ u12, succ u13} ω ω') φ (g (f a b) d)) (f' a (g' b d))) -> (Eq.{succ (max (max u4 u6 u8) (max u5 u7 u9) u13)} (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω') (coeFn.{max 1 (max (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)) (succ (max (max u4 u6 u8) (max u5 u7 u9) u13))) (succ (max (max u4 u6 u8) (max u5 u7 u9) u13)) (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)), max (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)) (succ (max (max u4 u6 u8) (max u5 u7 u9) u13))} (Equiv.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u13)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω')) (fun (_x : Equiv.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u13)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω')) => (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) -> (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω')) (Equiv.hasCoeToFun.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u13)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω')) (Equiv.trans.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u13)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω') (Matrix.reindex.{u12, max u4 u6 u8, max (max u4 u6) u8, max (max u5 u7) u9, max u5 u7 u9} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω (Equiv.prodAssoc.{u4, u6, u8} l n q) (Equiv.prodAssoc.{u5, u7, u9} m p r)) (Equiv.mapMatrix.{u12, u13, max u4 u6 u8, max u5 u7 u9} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω ω' φ)) (Matrix.kroneckerMap.{u3, u10, u12, max u4 u6, max u5 u7, u8, u9} γ δ ω (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) q r g (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A B) D)) (Matrix.kroneckerMap.{u1, u11, u13, u4, u5, max u6 u8, max u7 u9} α ξ ω' l m (Prod.{u6, u8} n q) (Prod.{u7, u9} p r) f' A (Matrix.kroneckerMap.{u2, u10, u11, u6, u7, u8, u9} β δ ξ n p q r g' B D)))
 but is expected to have type
-  forall {α : Type.{u7}} {β : Type.{u4}} {γ : Type.{u1}} {l : Type.{u9}} {m : Type.{u8}} {n : Type.{u6}} {p : Type.{u5}} {q : Type.{u3}} {r : Type.{u2}} {δ : Type.{u13}} {ξ : Type.{u12}} {ω : Type.{u11}} {ω' : Type.{u10}} (f : α -> β -> γ) (g : γ -> δ -> ω) (f' : α -> ξ -> ω') (g' : β -> δ -> ξ) (A : Matrix.{u9, u8, u7} l m α) (B : Matrix.{u6, u5, u4} n p β) (D : Matrix.{u3, u2, u13} q r δ) (φ : Equiv.{succ u11, succ u10} ω ω'), (forall (a : α) (b : β) (d : δ), Eq.{succ u10} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : ω) => ω') (g (f a b) d)) (FunLike.coe.{max (succ u11) (succ u10), succ u11, succ u10} (Equiv.{succ u11, succ u10} ω ω') ω (fun (_x : ω) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : ω) => ω') _x) (Equiv.instFunLikeEquiv.{succ u11, succ u10} ω ω') φ (g (f a b) d)) (f' a (g' b d))) -> (Eq.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω') (Matrix.kroneckerMap.{u1, u13, u11, max u9 u6, max u8 u5, u3, u2} γ δ ω (Prod.{u9, u6} l n) (Prod.{u8, u5} m p) q r g (Matrix.kroneckerMap.{u7, u4, u1, u9, u8, u6, u5} α β γ l m n p f A B) D)) (FunLike.coe.{max (max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11)) (succ u10), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Equiv.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω')) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (fun (_x : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω') _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω')) (Equiv.trans.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω') (Matrix.reindex.{u11, max (max u9 u6) u3, max (max u9 u6) u3, max (max u8 u5) u2, max (max u8 u5) u2} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω (Equiv.prodAssoc.{u9, u6, u3} l n q) (Equiv.prodAssoc.{u8, u5, u2} m p r)) (Equiv.mapMatrix.{u11, u10, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω ω' φ)) (Matrix.kroneckerMap.{u1, u13, u11, max u9 u6, max u8 u5, u3, u2} γ δ ω (Prod.{u9, u6} l n) (Prod.{u8, u5} m p) q r g (Matrix.kroneckerMap.{u7, u4, u1, u9, u8, u6, u5} α β γ l m n p f A B) D)) (Matrix.kroneckerMap.{u7, u12, u10, u9, u8, max u3 u6, max u2 u5} α ξ ω' l m (Prod.{u6, u3} n q) (Prod.{u5, u2} p r) f' A (Matrix.kroneckerMap.{u4, u13, u12, u6, u5, u3, u2} β δ ξ n p q r g' B D)))
+  forall {α : Type.{u7}} {β : Type.{u4}} {γ : Type.{u1}} {l : Type.{u9}} {m : Type.{u8}} {n : Type.{u6}} {p : Type.{u5}} {q : Type.{u3}} {r : Type.{u2}} {δ : Type.{u13}} {ξ : Type.{u12}} {ω : Type.{u11}} {ω' : Type.{u10}} (f : α -> β -> γ) (g : γ -> δ -> ω) (f' : α -> ξ -> ω') (g' : β -> δ -> ξ) (A : Matrix.{u9, u8, u7} l m α) (B : Matrix.{u6, u5, u4} n p β) (D : Matrix.{u3, u2, u13} q r δ) (φ : Equiv.{succ u11, succ u10} ω ω'), (forall (a : α) (b : β) (d : δ), Eq.{succ u10} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ω) => ω') (g (f a b) d)) (FunLike.coe.{max (succ u11) (succ u10), succ u11, succ u10} (Equiv.{succ u11, succ u10} ω ω') ω (fun (_x : ω) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : ω) => ω') _x) (Equiv.instFunLikeEquiv.{succ u11, succ u10} ω ω') φ (g (f a b) d)) (f' a (g' b d))) -> (Eq.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω') (Matrix.kroneckerMap.{u1, u13, u11, max u9 u6, max u8 u5, u3, u2} γ δ ω (Prod.{u9, u6} l n) (Prod.{u8, u5} m p) q r g (Matrix.kroneckerMap.{u7, u4, u1, u9, u8, u6, u5} α β γ l m n p f A B) D)) (FunLike.coe.{max (max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11)) (succ u10), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Equiv.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω')) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (fun (_x : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω') _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω')) (Equiv.trans.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω') (Matrix.reindex.{u11, max (max u9 u6) u3, max (max u9 u6) u3, max (max u8 u5) u2, max (max u8 u5) u2} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω (Equiv.prodAssoc.{u9, u6, u3} l n q) (Equiv.prodAssoc.{u8, u5, u2} m p r)) (Equiv.mapMatrix.{u11, u10, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω ω' φ)) (Matrix.kroneckerMap.{u1, u13, u11, max u9 u6, max u8 u5, u3, u2} γ δ ω (Prod.{u9, u6} l n) (Prod.{u8, u5} m p) q r g (Matrix.kroneckerMap.{u7, u4, u1, u9, u8, u6, u5} α β γ l m n p f A B) D)) (Matrix.kroneckerMap.{u7, u12, u10, u9, u8, max u3 u6, max u2 u5} α ξ ω' l m (Prod.{u6, u3} n q) (Prod.{u5, u2} p r) f' A (Matrix.kroneckerMap.{u4, u13, u12, u6, u5, u3, u2} β δ ξ n p q r g' B D)))
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_assoc Matrix.kroneckerMap_assocₓ'. -/
 theorem kroneckerMap_assoc {δ ξ ω ω' : Type _} (f : α → β → γ) (g : γ → δ → ω) (f' : α → ξ → ω')
     (g' : β → δ → ξ) (A : Matrix l m α) (B : Matrix n p β) (D : Matrix q r δ) (φ : ω ≃ ω')
@@ -310,7 +310,7 @@ theorem kroneckerMap_assoc {δ ξ ω ω' : Type _} (f : α → β → γ) (g : 
 lean 3 declaration is
   forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} {q : Type.{u8}} {r : Type.{u9}} {δ : Type.{u10}} {ξ : Type.{u11}} {ω : Type.{u12}} (f : α -> β -> γ) (g : γ -> δ -> ω) (f' : α -> ξ -> ω) (g' : β -> δ -> ξ) (A : Matrix.{u4, u5, u1} l m α) (B : Matrix.{u6, u7, u2} n p β) (D : Matrix.{u8, u9, u10} q r δ), (forall (a : α) (b : β) (d : δ), Eq.{succ u12} ω (g (f a b) d) (f' a (g' b d))) -> (Eq.{succ (max (max u4 u6 u8) (max u5 u7 u9) u12)} (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω) (coeFn.{max 1 (max (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)) (succ (max (max u4 u6 u8) (max u5 u7 u9) u12))) (succ (max (max u4 u6 u8) (max u5 u7 u9) u12)) (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)), max (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)) (succ (max (max u4 u6 u8) (max u5 u7 u9) u12))} (Equiv.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u12)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω)) (fun (_x : Equiv.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u12)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω)) => (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) -> (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω)) (Equiv.hasCoeToFun.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u12)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω)) (Matrix.reindex.{u12, max u4 u6 u8, max (max u4 u6) u8, max (max u5 u7) u9, max u5 u7 u9} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω (Equiv.prodAssoc.{u4, u6, u8} l n q) (Equiv.prodAssoc.{u5, u7, u9} m p r)) (Matrix.kroneckerMap.{u3, u10, u12, max u4 u6, max u5 u7, u8, u9} γ δ ω (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) q r g (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A B) D)) (Matrix.kroneckerMap.{u1, u11, u12, u4, u5, max u6 u8, max u7 u9} α ξ ω l m (Prod.{u6, u8} n q) (Prod.{u7, u9} p r) f' A (Matrix.kroneckerMap.{u2, u10, u11, u6, u7, u8, u9} β δ ξ n p q r g' B D)))
 but is expected to have type
-  forall {α : Type.{u7}} {β : Type.{u4}} {γ : Type.{u1}} {l : Type.{u9}} {m : Type.{u8}} {n : Type.{u6}} {p : Type.{u5}} {q : Type.{u3}} {r : Type.{u2}} {δ : Type.{u12}} {ξ : Type.{u11}} {ω : Type.{u10}} (f : α -> β -> γ) (g : γ -> δ -> ω) (f' : α -> ξ -> ω) (g' : β -> δ -> ξ) (A : Matrix.{u9, u8, u7} l m α) (B : Matrix.{u6, u5, u4} n p β) (D : Matrix.{u3, u2, u12} q r δ), (forall (a : α) (b : β) (d : δ), Eq.{succ u10} ω (g (f a b) d) (f' a (g' b d))) -> (Eq.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω) (Matrix.kroneckerMap.{u1, u12, u10, max u9 u6, max u8 u5, u3, u2} γ δ ω (Prod.{u9, u6} l n) (Prod.{u8, u5} m p) q r g (Matrix.kroneckerMap.{u7, u4, u1, u9, u8, u6, u5} α β γ l m n p f A B) D)) (FunLike.coe.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Equiv.{max (max (succ u10) (succ (max (max u8 u5) u2))) (succ (max (max u9 u6) u3)), max (max (succ u10) (succ (max (max u8 u5) u2))) (succ (max (max u9 u6) u3))} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω)) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (fun (_x : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω)) (Matrix.reindex.{u10, max (max u9 u6) u3, max (max u9 u6) u3, max (max u8 u5) u2, max (max u8 u5) u2} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω (Equiv.prodAssoc.{u9, u6, u3} l n q) (Equiv.prodAssoc.{u8, u5, u2} m p r)) (Matrix.kroneckerMap.{u1, u12, u10, max u9 u6, max u8 u5, u3, u2} γ δ ω (Prod.{u9, u6} l n) (Prod.{u8, u5} m p) q r g (Matrix.kroneckerMap.{u7, u4, u1, u9, u8, u6, u5} α β γ l m n p f A B) D)) (Matrix.kroneckerMap.{u7, u11, u10, u9, u8, max u3 u6, max u2 u5} α ξ ω l m (Prod.{u6, u3} n q) (Prod.{u5, u2} p r) f' A (Matrix.kroneckerMap.{u4, u12, u11, u6, u5, u3, u2} β δ ξ n p q r g' B D)))
+  forall {α : Type.{u7}} {β : Type.{u4}} {γ : Type.{u1}} {l : Type.{u9}} {m : Type.{u8}} {n : Type.{u6}} {p : Type.{u5}} {q : Type.{u3}} {r : Type.{u2}} {δ : Type.{u12}} {ξ : Type.{u11}} {ω : Type.{u10}} (f : α -> β -> γ) (g : γ -> δ -> ω) (f' : α -> ξ -> ω) (g' : β -> δ -> ξ) (A : Matrix.{u9, u8, u7} l m α) (B : Matrix.{u6, u5, u4} n p β) (D : Matrix.{u3, u2, u12} q r δ), (forall (a : α) (b : β) (d : δ), Eq.{succ u10} ω (g (f a b) d) (f' a (g' b d))) -> (Eq.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω) (Matrix.kroneckerMap.{u1, u12, u10, max u9 u6, max u8 u5, u3, u2} γ δ ω (Prod.{u9, u6} l n) (Prod.{u8, u5} m p) q r g (Matrix.kroneckerMap.{u7, u4, u1, u9, u8, u6, u5} α β γ l m n p f A B) D)) (FunLike.coe.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Equiv.{max (max (succ u10) (succ (max (max u8 u5) u2))) (succ (max (max u9 u6) u3)), max (max (succ u10) (succ (max (max u8 u5) u2))) (succ (max (max u9 u6) u3))} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω)) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (fun (_x : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω)) (Matrix.reindex.{u10, max (max u9 u6) u3, max (max u9 u6) u3, max (max u8 u5) u2, max (max u8 u5) u2} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω (Equiv.prodAssoc.{u9, u6, u3} l n q) (Equiv.prodAssoc.{u8, u5, u2} m p r)) (Matrix.kroneckerMap.{u1, u12, u10, max u9 u6, max u8 u5, u3, u2} γ δ ω (Prod.{u9, u6} l n) (Prod.{u8, u5} m p) q r g (Matrix.kroneckerMap.{u7, u4, u1, u9, u8, u6, u5} α β γ l m n p f A B) D)) (Matrix.kroneckerMap.{u7, u11, u10, u9, u8, max u3 u6, max u2 u5} α ξ ω l m (Prod.{u6, u3} n q) (Prod.{u5, u2} p r) f' A (Matrix.kroneckerMap.{u4, u12, u11, u6, u5, u3, u2} β δ ξ n p q r g' B D)))
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_assoc₁ Matrix.kroneckerMap_assoc₁ₓ'. -/
 theorem kroneckerMap_assoc₁ {δ ξ ω : Type _} (f : α → β → γ) (g : γ → δ → ω) (f' : α → ξ → ω)
     (g' : β → δ → ξ) (A : Matrix l m α) (B : Matrix n p β) (D : Matrix q r δ)
@@ -543,7 +543,7 @@ theorem kronecker_diagonal [MulZeroClass α] [DecidableEq n] (A : Matrix l m α)
 lean 3 declaration is
   forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} [_inst_1 : MulZeroClass.{u1} α] [_inst_2 : DecidableEq.{succ u2} l] (a : l -> α) (B : Matrix.{u3, u4, u1} m n α), Eq.{succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u4} α α α l l m n (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1))) (Matrix.diagonal.{u1, u2} l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α _inst_1) a) B) (coeFn.{max 1 (max (succ (max (max u3 u2) (max u4 u2) u1)) (succ (max (max u2 u3) (max u2 u4) u1))) (succ (max (max u2 u3) (max u2 u4) u1)) (succ (max (max u3 u2) (max u4 u2) u1)), max (succ (max (max u3 u2) (max u4 u2) u1)) (succ (max (max u2 u3) (max u2 u4) u1))} (Equiv.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (fun (_x : Equiv.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) => (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) -> (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (Equiv.hasCoeToFun.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (Matrix.reindex.{u1, max u2 u3, max u3 u2, max u4 u2, max u2 u4} (Prod.{u2, u3} l m) (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) (Prod.{u2, u4} l n) α (Equiv.prodComm.{u3, u2} m l) (Equiv.prodComm.{u4, u2} n l)) (Matrix.blockDiagonal.{u3, u4, u2, u1} m n l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α _inst_1) (fun (i : l) => SMul.smul.{u1, max u3 u4 u1} α (Matrix.{u3, u4, u1} m n α) (Matrix.hasSmul.{u1, u3, u4, u1} m n α α (Mul.toSMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1))) (a i) B)))
 but is expected to have type
-  forall {α : Type.{u4}} {l : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} [_inst_1 : MulZeroClass.{u4} α] [_inst_2 : DecidableEq.{succ u3} l] (a : l -> α) (B : Matrix.{u2, u1, u4} m n α), Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u3, max u1 u3, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α) (Matrix.kroneckerMap.{u4, u4, u4, u3, u3, u2, u1} α α α l l m n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4025 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4027 : α) => HMul.hMul.{u4, u4, u4} α α α (instHMul.{u4} α (MulZeroClass.toMul.{u4} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4025 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4027) (Matrix.diagonal.{u4, u3} l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toZero.{u4} α _inst_1) a) B) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1)} (Equiv.{max (max (succ u4) (succ (max u3 u1))) (succ (max u3 u2)), max (max (succ u4) (succ (max u3 u1))) (succ (max u3 u2))} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α)) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (fun (_x : Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) => Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1)} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α)) (Matrix.reindex.{u4, max u3 u2, max u3 u2, max u3 u1, max u3 u1} (Prod.{u3, u2} l m) (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) (Prod.{u3, u1} l n) α (Equiv.prodComm.{u2, u3} m l) (Equiv.prodComm.{u1, u3} n l)) (Matrix.blockDiagonal.{u2, u1, u3, u4} m n l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toZero.{u4} α _inst_1) (fun (i : l) => HSMul.hSMul.{u4, max (max u4 u2) u1, max (max u4 u2) u1} α (Matrix.{u2, u1, u4} m n α) (Matrix.{u2, u1, u4} m n α) (instHSMul.{u4, max (max u4 u2) u1} α (Matrix.{u2, u1, u4} m n α) (Matrix.smul.{u4, u2, u1, u4} m n α α (SMulZeroClass.toSMul.{u4, u4} α α (MulZeroClass.toZero.{u4} α _inst_1) (SMulWithZero.toSMulZeroClass.{u4, u4} α α (MulZeroClass.toZero.{u4} α _inst_1) (MulZeroClass.toZero.{u4} α _inst_1) (MulZeroClass.toSMulWithZero.{u4} α _inst_1))))) (a i) B)))
+  forall {α : Type.{u4}} {l : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} [_inst_1 : MulZeroClass.{u4} α] [_inst_2 : DecidableEq.{succ u3} l] (a : l -> α) (B : Matrix.{u2, u1, u4} m n α), Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u3, max u1 u3, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α) (Matrix.kroneckerMap.{u4, u4, u4, u3, u3, u2, u1} α α α l l m n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4025 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4027 : α) => HMul.hMul.{u4, u4, u4} α α α (instHMul.{u4} α (MulZeroClass.toMul.{u4} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4025 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4027) (Matrix.diagonal.{u4, u3} l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toZero.{u4} α _inst_1) a) B) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1)} (Equiv.{max (max (succ u4) (succ (max u3 u1))) (succ (max u3 u2)), max (max (succ u4) (succ (max u3 u1))) (succ (max u3 u2))} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α)) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (fun (_x : Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) => Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1)} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α)) (Matrix.reindex.{u4, max u3 u2, max u3 u2, max u3 u1, max u3 u1} (Prod.{u3, u2} l m) (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) (Prod.{u3, u1} l n) α (Equiv.prodComm.{u2, u3} m l) (Equiv.prodComm.{u1, u3} n l)) (Matrix.blockDiagonal.{u2, u1, u3, u4} m n l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toZero.{u4} α _inst_1) (fun (i : l) => HSMul.hSMul.{u4, max (max u4 u2) u1, max (max u4 u2) u1} α (Matrix.{u2, u1, u4} m n α) (Matrix.{u2, u1, u4} m n α) (instHSMul.{u4, max (max u4 u2) u1} α (Matrix.{u2, u1, u4} m n α) (Matrix.smul.{u4, u2, u1, u4} m n α α (SMulZeroClass.toSMul.{u4, u4} α α (MulZeroClass.toZero.{u4} α _inst_1) (SMulWithZero.toSMulZeroClass.{u4, u4} α α (MulZeroClass.toZero.{u4} α _inst_1) (MulZeroClass.toZero.{u4} α _inst_1) (MulZeroClass.toSMulWithZero.{u4} α _inst_1))))) (a i) B)))
 Case conversion may be inaccurate. Consider using '#align matrix.diagonal_kronecker Matrix.diagonal_kroneckerₓ'. -/
 theorem diagonal_kronecker [MulZeroClass α] [DecidableEq l] (a : l → α) (B : Matrix m n α) :
     diagonal a ⊗ₖ B =
@@ -578,7 +578,7 @@ theorem kronecker_one [MulZeroOneClass α] [DecidableEq n] (A : Matrix l m α) :
 lean 3 declaration is
   forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} [_inst_1 : MulZeroOneClass.{u1} α] [_inst_2 : DecidableEq.{succ u2} l] (B : Matrix.{u3, u4, u1} m n α), Eq.{succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u4} α α α l l m n (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)))) (OfNat.ofNat.{max u2 u1} (Matrix.{u2, u2, u1} l l α) 1 (OfNat.mk.{max u2 u1} (Matrix.{u2, u2, u1} l l α) 1 (One.one.{max u2 u1} (Matrix.{u2, u2, u1} l l α) (Matrix.hasOne.{u1, u2} l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)) (MulOneClass.toHasOne.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α _inst_1)))))) B) (coeFn.{max 1 (max (succ (max (max u3 u2) (max u4 u2) u1)) (succ (max (max u2 u3) (max u2 u4) u1))) (succ (max (max u2 u3) (max u2 u4) u1)) (succ (max (max u3 u2) (max u4 u2) u1)), max (succ (max (max u3 u2) (max u4 u2) u1)) (succ (max (max u2 u3) (max u2 u4) u1))} (Equiv.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (fun (_x : Equiv.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) => (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) -> (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (Equiv.hasCoeToFun.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (Matrix.reindex.{u1, max u2 u3, max u3 u2, max u4 u2, max u2 u4} (Prod.{u2, u3} l m) (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) (Prod.{u2, u4} l n) α (Equiv.prodComm.{u3, u2} m l) (Equiv.prodComm.{u4, u2} n l)) (Matrix.blockDiagonal.{u3, u4, u2, u1} m n l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)) (fun (i : l) => B)))
 but is expected to have type
-  forall {α : Type.{u4}} {l : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} [_inst_1 : MulZeroOneClass.{u4} α] [_inst_2 : DecidableEq.{succ u3} l] (B : Matrix.{u2, u1, u4} m n α), Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u3, max u1 u3, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α) (Matrix.kroneckerMap.{u4, u4, u4, u3, u3, u2, u1} α α α l l m n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4269 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4271 : α) => HMul.hMul.{u4, u4, u4} α α α (instHMul.{u4} α (MulZeroClass.toMul.{u4} α (MulZeroOneClass.toMulZeroClass.{u4} α _inst_1))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4269 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4271) (OfNat.ofNat.{max u4 u3} (Matrix.{u3, u3, u4} l l α) 1 (One.toOfNat1.{max u4 u3} (Matrix.{u3, u3, u4} l l α) (Matrix.one.{u4, u3} l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroOneClass.toZero.{u4} α _inst_1) (MulOneClass.toOne.{u4} α (MulZeroOneClass.toMulOneClass.{u4} α _inst_1))))) B) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1)} (Equiv.{max (max (succ u4) (succ (max u3 u1))) (succ (max u3 u2)), max (max (succ u4) (succ (max u3 u1))) (succ (max u3 u2))} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α)) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (fun (_x : Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) => Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1)} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α)) (Matrix.reindex.{u4, max u3 u2, max u3 u2, max u3 u1, max u3 u1} (Prod.{u3, u2} l m) (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) (Prod.{u3, u1} l n) α (Equiv.prodComm.{u2, u3} m l) (Equiv.prodComm.{u1, u3} n l)) (Matrix.blockDiagonal.{u2, u1, u3, u4} m n l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroOneClass.toZero.{u4} α _inst_1) (fun (i : l) => B)))
+  forall {α : Type.{u4}} {l : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} [_inst_1 : MulZeroOneClass.{u4} α] [_inst_2 : DecidableEq.{succ u3} l] (B : Matrix.{u2, u1, u4} m n α), Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u3, max u1 u3, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α) (Matrix.kroneckerMap.{u4, u4, u4, u3, u3, u2, u1} α α α l l m n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4269 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4271 : α) => HMul.hMul.{u4, u4, u4} α α α (instHMul.{u4} α (MulZeroClass.toMul.{u4} α (MulZeroOneClass.toMulZeroClass.{u4} α _inst_1))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4269 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4271) (OfNat.ofNat.{max u4 u3} (Matrix.{u3, u3, u4} l l α) 1 (One.toOfNat1.{max u4 u3} (Matrix.{u3, u3, u4} l l α) (Matrix.one.{u4, u3} l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroOneClass.toZero.{u4} α _inst_1) (MulOneClass.toOne.{u4} α (MulZeroOneClass.toMulOneClass.{u4} α _inst_1))))) B) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1)} (Equiv.{max (max (succ u4) (succ (max u3 u1))) (succ (max u3 u2)), max (max (succ u4) (succ (max u3 u1))) (succ (max u3 u2))} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α)) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (fun (_x : Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) => Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1)} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α)) (Matrix.reindex.{u4, max u3 u2, max u3 u2, max u3 u1, max u3 u1} (Prod.{u3, u2} l m) (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) (Prod.{u3, u1} l n) α (Equiv.prodComm.{u2, u3} m l) (Equiv.prodComm.{u1, u3} n l)) (Matrix.blockDiagonal.{u2, u1, u3, u4} m n l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroOneClass.toZero.{u4} α _inst_1) (fun (i : l) => B)))
 Case conversion may be inaccurate. Consider using '#align matrix.one_kronecker Matrix.one_kroneckerₓ'. -/
 theorem one_kronecker [MulZeroOneClass α] [DecidableEq l] (B : Matrix m n α) :
     (1 : Matrix l l α) ⊗ₖ B =
@@ -603,7 +603,7 @@ theorem mul_kronecker_mul [Fintype m] [Fintype m'] [CommSemiring α] (A : Matrix
 lean 3 declaration is
   forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} {p : Type.{u5}} {q : Type.{u6}} {r : Type.{u7}} [_inst_1 : Semigroup.{u1} α] (A : Matrix.{u2, u3, u1} l m α) (B : Matrix.{u4, u5, u1} n p α) (C : Matrix.{u6, u7, u1} q r α), Eq.{succ (max (max u2 u4 u6) (max u3 u5 u7) u1)} (Matrix.{max u2 u4 u6, max u3 u5 u7, u1} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α) (coeFn.{max 1 (max (succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1)) (succ (max (max u2 u4 u6) (max u3 u5 u7) u1))) (succ (max (max u2 u4 u6) (max u3 u5 u7) u1)) (succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1)), max (succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1)) (succ (max (max u2 u4 u6) (max u3 u5 u7) u1))} (Equiv.{succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1), succ (max (max u2 u4 u6) (max u3 u5 u7) u1)} (Matrix.{max (max u2 u4) u6, max (max u3 u5) u7, u1} (Prod.{max u2 u4, u6} (Prod.{u2, u4} l n) q) (Prod.{max u3 u5, u7} (Prod.{u3, u5} m p) r) α) (Matrix.{max u2 u4 u6, max u3 u5 u7, u1} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α)) (fun (_x : Equiv.{succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1), succ (max (max u2 u4 u6) (max u3 u5 u7) u1)} (Matrix.{max (max u2 u4) u6, max (max u3 u5) u7, u1} (Prod.{max u2 u4, u6} (Prod.{u2, u4} l n) q) (Prod.{max u3 u5, u7} (Prod.{u3, u5} m p) r) α) (Matrix.{max u2 u4 u6, max u3 u5 u7, u1} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α)) => (Matrix.{max (max u2 u4) u6, max (max u3 u5) u7, u1} (Prod.{max u2 u4, u6} (Prod.{u2, u4} l n) q) (Prod.{max u3 u5, u7} (Prod.{u3, u5} m p) r) α) -> (Matrix.{max u2 u4 u6, max u3 u5 u7, u1} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α)) (Equiv.hasCoeToFun.{succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1), succ (max (max u2 u4 u6) (max u3 u5 u7) u1)} (Matrix.{max (max u2 u4) u6, max (max u3 u5) u7, u1} (Prod.{max u2 u4, u6} (Prod.{u2, u4} l n) q) (Prod.{max u3 u5, u7} (Prod.{u3, u5} m p) r) α) (Matrix.{max u2 u4 u6, max u3 u5 u7, u1} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α)) (Matrix.reindex.{u1, max u2 u4 u6, max (max u2 u4) u6, max (max u3 u5) u7, max u3 u5 u7} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{max u2 u4, u6} (Prod.{u2, u4} l n) q) (Prod.{max u3 u5, u7} (Prod.{u3, u5} m p) r) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α (Equiv.prodAssoc.{u2, u4, u6} l n q) (Equiv.prodAssoc.{u3, u5, u7} m p r)) (Matrix.kroneckerMap.{u1, u1, u1, max u2 u4, max u3 u5, u6, u7} α α α (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) q r (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Semigroup.toHasMul.{u1} α _inst_1))) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Semigroup.toHasMul.{u1} α _inst_1))) A B) C)) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, max u4 u6, max u5 u7} α α α l m (Prod.{u4, u6} n q) (Prod.{u5, u7} p r) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Semigroup.toHasMul.{u1} α _inst_1))) A (Matrix.kroneckerMap.{u1, u1, u1, u4, u5, u6, u7} α α α n p q r (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Semigroup.toHasMul.{u1} α _inst_1))) B C))
 but is expected to have type
-  forall {α : Type.{u7}} {l : Type.{u6}} {m : Type.{u5}} {n : Type.{u4}} {p : Type.{u3}} {q : Type.{u2}} {r : Type.{u1}} [_inst_1 : Semigroup.{u7} α] (A : Matrix.{u6, u5, u7} l m α) (B : Matrix.{u4, u3, u7} n p α) (C : Matrix.{u2, u1, u7} q r α), Eq.{max (max (max (max (max (max (succ u7) (succ u6)) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) => Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α) (Matrix.kroneckerMap.{u7, u7, u7, max u6 u4, max u5 u3, u2, u1} α α α (Prod.{u6, u4} l n) (Prod.{u5, u3} m p) q r (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4536 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4538 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4536 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4538) (Matrix.kroneckerMap.{u7, u7, u7, u6, u5, u4, u3} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4555 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4557 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4555 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4557) A B) C)) (FunLike.coe.{max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7), max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7), max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7)} (Equiv.{max (max (succ u7) (succ (max (max u5 u3) u1))) (succ (max (max u6 u4) u2)), max (max (succ u7) (succ (max (max u5 u3) u1))) (succ (max (max u6 u4) u2))} (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α)) (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) (fun (_x : Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) => Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7), max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7)} (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α)) (Matrix.reindex.{u7, max (max u6 u4) u2, max (max u6 u4) u2, max (max u5 u3) u1, max (max u5 u3) u1} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α (Equiv.prodAssoc.{u6, u4, u2} l n q) (Equiv.prodAssoc.{u5, u3, u1} m p r)) (Matrix.kroneckerMap.{u7, u7, u7, max u6 u4, max u5 u3, u2, u1} α α α (Prod.{u6, u4} l n) (Prod.{u5, u3} m p) q r (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4536 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4538 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4536 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4538) (Matrix.kroneckerMap.{u7, u7, u7, u6, u5, u4, u3} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4555 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4557 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4555 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4557) A B) C)) (Matrix.kroneckerMap.{u7, u7, u7, u6, u5, max u2 u4, max u1 u3} α α α l m (Prod.{u4, u2} n q) (Prod.{u3, u1} p r) (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4576 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4578 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4576 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4578) A (Matrix.kroneckerMap.{u7, u7, u7, u4, u3, u2, u1} α α α n p q r (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4598 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4600 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4598 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4600) B C))
+  forall {α : Type.{u7}} {l : Type.{u6}} {m : Type.{u5}} {n : Type.{u4}} {p : Type.{u3}} {q : Type.{u2}} {r : Type.{u1}} [_inst_1 : Semigroup.{u7} α] (A : Matrix.{u6, u5, u7} l m α) (B : Matrix.{u4, u3, u7} n p α) (C : Matrix.{u2, u1, u7} q r α), Eq.{max (max (max (max (max (max (succ u7) (succ u6)) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) => Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α) (Matrix.kroneckerMap.{u7, u7, u7, max u6 u4, max u5 u3, u2, u1} α α α (Prod.{u6, u4} l n) (Prod.{u5, u3} m p) q r (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4536 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4538 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4536 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4538) (Matrix.kroneckerMap.{u7, u7, u7, u6, u5, u4, u3} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4555 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4557 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4555 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4557) A B) C)) (FunLike.coe.{max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7), max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7), max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7)} (Equiv.{max (max (succ u7) (succ (max (max u5 u3) u1))) (succ (max (max u6 u4) u2)), max (max (succ u7) (succ (max (max u5 u3) u1))) (succ (max (max u6 u4) u2))} (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α)) (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) (fun (_x : Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) => Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7), max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7)} (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α)) (Matrix.reindex.{u7, max (max u6 u4) u2, max (max u6 u4) u2, max (max u5 u3) u1, max (max u5 u3) u1} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α (Equiv.prodAssoc.{u6, u4, u2} l n q) (Equiv.prodAssoc.{u5, u3, u1} m p r)) (Matrix.kroneckerMap.{u7, u7, u7, max u6 u4, max u5 u3, u2, u1} α α α (Prod.{u6, u4} l n) (Prod.{u5, u3} m p) q r (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4536 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4538 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4536 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4538) (Matrix.kroneckerMap.{u7, u7, u7, u6, u5, u4, u3} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4555 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4557 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4555 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4557) A B) C)) (Matrix.kroneckerMap.{u7, u7, u7, u6, u5, max u2 u4, max u1 u3} α α α l m (Prod.{u4, u2} n q) (Prod.{u3, u1} p r) (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4576 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4578 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4576 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4578) A (Matrix.kroneckerMap.{u7, u7, u7, u4, u3, u2, u1} α α α n p q r (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4598 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4600 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4598 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4600) B C))
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_assoc Matrix.kronecker_assocₓ'. -/
 @[simp]
 theorem kronecker_assoc [Semigroup α] (A : Matrix l m α) (B : Matrix n p α) (C : Matrix q r α) :
@@ -829,7 +829,7 @@ theorem kroneckerTMul_diagonal [DecidableEq n] (A : Matrix l m α) (b : n → α
 lean 3 declaration is
   forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_8 : DecidableEq.{succ u3} l] (a : l -> α) (B : Matrix.{u4, u5, u2} m n α), Eq.{succ (max (max u3 u4) (max u3 u5) u2)} (Matrix.{max u3 u4, max u3 u5, u2} (Prod.{u3, u4} l m) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u3, u3, u4, u5} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l l m n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Matrix.diagonal.{u2, u3} l α (fun (a : l) (b : l) => _inst_8 a b) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) a) B) (coeFn.{max 1 (max (succ (max (max u4 u3) (max u5 u3) u2)) (succ (max (max u3 u4) (max u3 u5) u2))) (succ (max (max u3 u4) (max u3 u5) u2)) (succ (max (max u4 u3) (max u5 u3) u2)), max (succ (max (max u4 u3) (max u5 u3) u2)) (succ (max (max u3 u4) (max u3 u5) u2))} (Equiv.{succ (max (max u4 u3) (max u5 u3) u2), succ (max (max u3 u4) (max u3 u5) u2)} (Matrix.{max u4 u3, max u5 u3, u2} (Prod.{u4, u3} m l) (Prod.{u5, u3} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u4, max u3 u5, u2} (Prod.{u3, u4} l m) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (fun (_x : Equiv.{succ (max (max u4 u3) (max u5 u3) u2), succ (max (max u3 u4) (max u3 u5) u2)} (Matrix.{max u4 u3, max u5 u3, u2} (Prod.{u4, u3} m l) (Prod.{u5, u3} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u4, max u3 u5, u2} (Prod.{u3, u4} l m) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) => (Matrix.{max u4 u3, max u5 u3, u2} (Prod.{u4, u3} m l) (Prod.{u5, u3} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) -> (Matrix.{max u3 u4, max u3 u5, u2} (Prod.{u3, u4} l m) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (Equiv.hasCoeToFun.{succ (max (max u4 u3) (max u5 u3) u2), succ (max (max u3 u4) (max u3 u5) u2)} (Matrix.{max u4 u3, max u5 u3, u2} (Prod.{u4, u3} m l) (Prod.{u5, u3} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u4, max u3 u5, u2} (Prod.{u3, u4} l m) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (Matrix.reindex.{u2, max u3 u4, max u4 u3, max u5 u3, max u3 u5} (Prod.{u3, u4} l m) (Prod.{u4, u3} m l) (Prod.{u5, u3} n l) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Equiv.prodComm.{u4, u3} m l) (Equiv.prodComm.{u5, u3} n l)) (Matrix.blockDiagonal.{u4, u5, u3, u2} m n l (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (fun (a : l) (b : l) => _inst_8 a b) (AddZeroClass.toHasZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addZeroClass.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (fun (i : l) => Matrix.map.{u2, u2, u4, u5} m n α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) B (fun (b : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 (a i) b))))
 but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u5}} {m : Type.{u4}} {n : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_8 : DecidableEq.{succ u5} l] (a : l -> α) (B : Matrix.{u4, u3, u2} m n α), Eq.{max (max (max (succ u2) (succ u5)) (succ u4)) (succ u3)} (Matrix.{max u4 u5, max u3 u5, u2} (Prod.{u5, u4} l m) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u5, u5, u4, u3} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l l m n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Matrix.diagonal.{u2, u5} l α (fun (a : l) (b : l) => _inst_8 a b) (AddMonoid.toZero.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2)) a) B) (FunLike.coe.{max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3), max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3), max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3)} (Equiv.{max (max (succ u2) (succ (max u5 u3))) (succ (max u5 u4)), max (max (succ u2) (succ (max u5 u3))) (succ (max u5 u4))} (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u5, u4} l m) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (fun (_x : Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) => Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u5, u4} l m) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3), max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3)} (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u5, u4} l m) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (Matrix.reindex.{u2, max u5 u4, max u5 u4, max u5 u3, max u5 u3} (Prod.{u5, u4} l m) (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Equiv.prodComm.{u4, u5} m l) (Equiv.prodComm.{u3, u5} n l)) (Matrix.blockDiagonal.{u4, u3, u5, u2} m n l (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (fun (a : l) (b : l) => _inst_8 a b) (AddMonoid.toZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (AddCommMonoid.toAddMonoid.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (fun (i : l) => Matrix.map.{u2, u2, u4, u3} m n α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) B (fun (b : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 (a i) b))))
+  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u5}} {m : Type.{u4}} {n : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_8 : DecidableEq.{succ u5} l] (a : l -> α) (B : Matrix.{u4, u3, u2} m n α), Eq.{max (max (max (succ u2) (succ u5)) (succ u4)) (succ u3)} (Matrix.{max u4 u5, max u3 u5, u2} (Prod.{u5, u4} l m) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u5, u5, u4, u3} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l l m n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Matrix.diagonal.{u2, u5} l α (fun (a : l) (b : l) => _inst_8 a b) (AddMonoid.toZero.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2)) a) B) (FunLike.coe.{max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3), max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3), max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3)} (Equiv.{max (max (succ u2) (succ (max u5 u3))) (succ (max u5 u4)), max (max (succ u2) (succ (max u5 u3))) (succ (max u5 u4))} (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u5, u4} l m) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (fun (_x : Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) => Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u5, u4} l m) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3), max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3)} (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u5, u4} l m) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (Matrix.reindex.{u2, max u5 u4, max u5 u4, max u5 u3, max u5 u3} (Prod.{u5, u4} l m) (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Equiv.prodComm.{u4, u5} m l) (Equiv.prodComm.{u3, u5} n l)) (Matrix.blockDiagonal.{u4, u3, u5, u2} m n l (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (fun (a : l) (b : l) => _inst_8 a b) (AddMonoid.toZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (AddCommMonoid.toAddMonoid.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (fun (i : l) => Matrix.map.{u2, u2, u4, u3} m n α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) B (fun (b : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 (a i) b))))
 Case conversion may be inaccurate. Consider using '#align matrix.diagonal_kronecker_tmul Matrix.diagonal_kroneckerTMulₓ'. -/
 theorem diagonal_kroneckerTMul [DecidableEq l] (a : l → α) (B : Matrix m n α) :
     diagonal a ⊗ₖₜ[R] B =
@@ -842,7 +842,7 @@ theorem diagonal_kroneckerTMul [DecidableEq l] (a : l → α) (B : Matrix m n α
 lean 3 declaration is
   forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {p : Type.{u8}} {q : Type.{u9}} {r : Type.{u10}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_3 : AddCommMonoid.{u3} β] [_inst_4 : AddCommMonoid.{u4} γ] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] [_inst_7 : Module.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (A : Matrix.{u5, u6, u2} l m α) (B : Matrix.{u7, u8, u3} n p β) (C : Matrix.{u9, u10, u4} q r γ), Eq.{succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)} (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (coeFn.{max 1 (max (succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4)) (succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4))) (succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)) (succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4)), max (succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4)) (succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4))} (Equiv.{succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4), succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)} (Matrix.{max (max u5 u7) u9, max (max u6 u8) u10, max u2 u3 u4} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (fun (_x : Equiv.{succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4), succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)} (Matrix.{max (max u5 u7) u9, max (max u6 u8) u10, max u2 u3 u4} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) => (Matrix.{max (max u5 u7) u9, max (max u6 u8) u10, max u2 u3 u4} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) -> (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Equiv.hasCoeToFun.{succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4), succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)} (Matrix.{max (max u5 u7) u9, max (max u6 u8) u10, max u2 u3 u4} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Matrix.reindex.{max u2 u3 u4, max u5 u7 u9, max (max u5 u7) u9, max (max u6 u8) u10, max u6 u8 u10} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Equiv.prodAssoc.{u5, u7, u9} l n q) (Equiv.prodAssoc.{u6, u8, u10} m p r)) (Matrix.map.{max (max u2 u3) u4, max u2 u3 u4, max (max u5 u7) u9, max (max u6 u8) u10} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Matrix.kroneckerMap.{max u2 u3, u4, max (max u2 u3) u4, max u5 u7, max u6 u8, u9, u10} (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) q r (TensorProduct.tmul.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u5, u6, u7, u8} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B) C) (coeFn.{max (succ (max (max u2 u3) u4)) (succ (max u2 u3 u4)), max (succ (max (max u2 u3) u4)) (succ (max u2 u3 u4))} (LinearEquiv.{u1, u1, max (max u2 u3) u4, max u2 u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.assoc._proof_1.{u1} R _inst_1) (TensorProduct.assoc._proof_2.{u1} R _inst_1) (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.module.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.module.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (fun (_x : LinearEquiv.{u1, u1, max (max u2 u3) u4, max u2 u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.assoc._proof_1.{u1} R _inst_1) (TensorProduct.assoc._proof_2.{u1} R _inst_1) (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.module.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.module.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) -> (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (LinearEquiv.hasCoeToFun.{u1, u1, max (max u2 u3) u4, max u2 u3 u4} R R (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.module.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.module.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.assoc._proof_1.{u1} R _inst_1) (TensorProduct.assoc._proof_2.{u1} R _inst_1)) (TensorProduct.assoc.{u1, u2, u3, u4} R _inst_1 α β γ _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (Matrix.kroneckerMap.{u2, max u3 u4, max u2 u3 u4, u5, u6, max u7 u9, max u8 u10} α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) l m (Prod.{u7, u9} n q) (Prod.{u8, u10} p r) (TensorProduct.tmul.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) A (Matrix.kroneckerMap.{u3, u4, max u3 u4, u7, u8, u9, u10} β γ (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) n p q r (TensorProduct.tmul.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) B C))
 but is expected to have type
-  forall (R : Type.{u1}) {α : Type.{u8}} {β : Type.{u5}} {γ : Type.{u2}} {l : Type.{u10}} {m : Type.{u9}} {n : Type.{u7}} {p : Type.{u6}} {q : Type.{u4}} {r : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u8} α] [_inst_3 : AddCommMonoid.{u5} β] [_inst_4 : AddCommMonoid.{u2} γ] [_inst_5 : Module.{u1, u8} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u5} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] [_inst_7 : Module.{u1, u2} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (A : Matrix.{u10, u9, u8} l m α) (B : Matrix.{u7, u6, u5} n p β) (C : Matrix.{u4, u3, u2} q r γ), Eq.{max (max (max (max (max (max (max (max (succ u8) (succ u5)) (succ u2)) (succ u10)) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.map.{max (max u8 u5) u2, max (max u8 u5) u2, max (max u10 u7) u4, max (max u9 u6) u3} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Matrix.kroneckerMap.{max u5 u8, u2, max u2 u5 u8, max u7 u10, max u6 u9, u4, u3} (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Prod.{u10, u7} l n) (Prod.{u9, u6} m p) q r (TensorProduct.tmul.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Matrix.kroneckerMap.{u8, u5, max u5 u8, u10, u9, u7, u6} α β (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B) C) (FunLike.coe.{max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (a : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) a) (SMulHomClass.toFunLike.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))))) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (TensorProduct.assoc.{u1, u8, u5, u2} R _inst_1 α β γ _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (FunLike.coe.{max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2))} (Equiv.{max (max (succ (max (max u8 u5) u2)) (succ (max (max u9 u6) u3))) (succ (max (max u10 u7) u4)), max (max (succ (max (max u8 u5) u2)) (succ (max (max u9 u6) u3))) (succ (max (max u10 u7) u4))} (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (fun (_x : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2))} (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Matrix.reindex.{max (max u8 u5) u2, max (max u10 u7) u4, max (max u10 u7) u4, max (max u9 u6) u3, max (max u9 u6) u3} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Equiv.prodAssoc.{u10, u7, u4} l n q) (Equiv.prodAssoc.{u9, u6, u3} m p r)) (Matrix.map.{max (max u8 u5) u2, max (max u8 u5) u2, max (max u10 u7) u4, max (max u9 u6) u3} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Matrix.kroneckerMap.{max u5 u8, u2, max u2 u5 u8, max u7 u10, max u6 u9, u4, u3} (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Prod.{u10, u7} l n) (Prod.{u9, u6} m p) q r (TensorProduct.tmul.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Matrix.kroneckerMap.{u8, u5, max u5 u8, u10, u9, u7, u6} α β (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B) C) (FunLike.coe.{max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) _x) (SMulHomClass.toFunLike.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))))) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (TensorProduct.assoc.{u1, u8, u5, u2} R _inst_1 α β γ _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (Matrix.kroneckerMap.{u8, max u2 u5, max (max u2 u5) u8, u10, u9, max u4 u7, max u3 u6} α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) l m (Prod.{u7, u4} n q) (Prod.{u6, u3} p r) (TensorProduct.tmul.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) A (Matrix.kroneckerMap.{u5, u2, max u2 u5, u7, u6, u4, u3} β γ (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) n p q r (TensorProduct.tmul.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) B C))
+  forall (R : Type.{u1}) {α : Type.{u8}} {β : Type.{u5}} {γ : Type.{u2}} {l : Type.{u10}} {m : Type.{u9}} {n : Type.{u7}} {p : Type.{u6}} {q : Type.{u4}} {r : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u8} α] [_inst_3 : AddCommMonoid.{u5} β] [_inst_4 : AddCommMonoid.{u2} γ] [_inst_5 : Module.{u1, u8} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u5} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] [_inst_7 : Module.{u1, u2} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (A : Matrix.{u10, u9, u8} l m α) (B : Matrix.{u7, u6, u5} n p β) (C : Matrix.{u4, u3, u2} q r γ), Eq.{max (max (max (max (max (max (max (max (succ u8) (succ u5)) (succ u2)) (succ u10)) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.map.{max (max u8 u5) u2, max (max u8 u5) u2, max (max u10 u7) u4, max (max u9 u6) u3} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Matrix.kroneckerMap.{max u5 u8, u2, max u2 u5 u8, max u7 u10, max u6 u9, u4, u3} (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Prod.{u10, u7} l n) (Prod.{u9, u6} m p) q r (TensorProduct.tmul.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Matrix.kroneckerMap.{u8, u5, max u5 u8, u10, u9, u7, u6} α β (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B) C) (FunLike.coe.{max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (a : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) a) (SMulHomClass.toFunLike.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))))) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (TensorProduct.assoc.{u1, u8, u5, u2} R _inst_1 α β γ _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (FunLike.coe.{max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2))} (Equiv.{max (max (succ (max (max u8 u5) u2)) (succ (max (max u9 u6) u3))) (succ (max (max u10 u7) u4)), max (max (succ (max (max u8 u5) u2)) (succ (max (max u9 u6) u3))) (succ (max (max u10 u7) u4))} (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (fun (_x : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2))} (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Matrix.reindex.{max (max u8 u5) u2, max (max u10 u7) u4, max (max u10 u7) u4, max (max u9 u6) u3, max (max u9 u6) u3} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Equiv.prodAssoc.{u10, u7, u4} l n q) (Equiv.prodAssoc.{u9, u6, u3} m p r)) (Matrix.map.{max (max u8 u5) u2, max (max u8 u5) u2, max (max u10 u7) u4, max (max u9 u6) u3} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Matrix.kroneckerMap.{max u5 u8, u2, max u2 u5 u8, max u7 u10, max u6 u9, u4, u3} (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Prod.{u10, u7} l n) (Prod.{u9, u6} m p) q r (TensorProduct.tmul.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Matrix.kroneckerMap.{u8, u5, max u5 u8, u10, u9, u7, u6} α β (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B) C) (FunLike.coe.{max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) _x) (SMulHomClass.toFunLike.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))))) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (TensorProduct.assoc.{u1, u8, u5, u2} R _inst_1 α β γ _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (Matrix.kroneckerMap.{u8, max u2 u5, max (max u2 u5) u8, u10, u9, max u4 u7, max u3 u6} α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) l m (Prod.{u7, u4} n q) (Prod.{u6, u3} p r) (TensorProduct.tmul.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) A (Matrix.kroneckerMap.{u5, u2, max u2 u5, u7, u6, u4, u3} β γ (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) n p q r (TensorProduct.tmul.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) B C))
 Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_assoc Matrix.kroneckerTMul_assocₓ'. -/
 @[simp]
 theorem kroneckerTMul_assoc (A : Matrix l m α) (B : Matrix n p β) (C : Matrix q r γ) :
Diff
@@ -57,11 +57,19 @@ variable {l m n p : Type _} {q r : Type _} {l' m' n' p' : Type _}
 
 section KroneckerMap
 
+#print Matrix.kroneckerMap /-
 /-- Produce a matrix with `f` applied to every pair of elements from `A` and `B`. -/
 def kroneckerMap (f : α → β → γ) (A : Matrix l m α) (B : Matrix n p β) : Matrix (l × n) (m × p) γ :=
   of fun (i : l × n) (j : m × p) => f (A i.1 j.1) (B i.2 j.2)
 #align matrix.kronecker_map Matrix.kroneckerMap
+-/
 
+/- warning: matrix.kronecker_map_apply -> Matrix.kroneckerMap_apply is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} (f : α -> β -> γ) (A : Matrix.{u4, u5, u1} l m α) (B : Matrix.{u6, u7, u2} n p β) (i : Prod.{u4, u6} l n) (j : Prod.{u5, u7} m p), Eq.{succ u3} γ (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A B i j) (f (A (Prod.fst.{u4, u6} l n i) (Prod.fst.{u5, u7} m p j)) (B (Prod.snd.{u4, u6} l n i) (Prod.snd.{u5, u7} m p j)))
+but is expected to have type
+  forall {α : Type.{u5}} {β : Type.{u2}} {γ : Type.{u1}} {l : Type.{u7}} {m : Type.{u6}} {n : Type.{u4}} {p : Type.{u3}} (f : α -> β -> γ) (A : Matrix.{u7, u6, u5} l m α) (B : Matrix.{u4, u3, u2} n p β) (i : Prod.{u7, u4} l n) (j : Prod.{u6, u3} m p), Eq.{succ u1} γ (Matrix.kroneckerMap.{u5, u2, u1, u7, u6, u4, u3} α β γ l m n p f A B i j) (f (A (Prod.fst.{u7, u4} l n i) (Prod.fst.{u6, u3} m p j)) (B (Prod.snd.{u7, u4} l n i) (Prod.snd.{u6, u3} m p j)))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_apply Matrix.kroneckerMap_applyₓ'. -/
 -- TODO: set as an equation lemma for `kronecker_map`, see mathlib4#3024
 @[simp]
 theorem kroneckerMap_apply (f : α → β → γ) (A : Matrix l m α) (B : Matrix n p β) (i j) :
@@ -69,62 +77,128 @@ theorem kroneckerMap_apply (f : α → β → γ) (A : Matrix l m α) (B : Matri
   rfl
 #align matrix.kronecker_map_apply Matrix.kroneckerMap_apply
 
+/- warning: matrix.kronecker_map_transpose -> Matrix.kroneckerMap_transpose is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} (f : α -> β -> γ) (A : Matrix.{u4, u5, u1} l m α) (B : Matrix.{u6, u7, u2} n p β), Eq.{succ (max (max u5 u7) (max u4 u6) u3)} (Matrix.{max u5 u7, max u4 u6, u3} (Prod.{u5, u7} m p) (Prod.{u4, u6} l n) γ) (Matrix.kroneckerMap.{u1, u2, u3, u5, u4, u7, u6} α β γ m l p n f (Matrix.transpose.{u1, u4, u5} l m α A) (Matrix.transpose.{u2, u6, u7} n p β B)) (Matrix.transpose.{u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A B))
+but is expected to have type
+  forall {α : Type.{u5}} {β : Type.{u2}} {γ : Type.{u1}} {l : Type.{u7}} {m : Type.{u6}} {n : Type.{u4}} {p : Type.{u3}} (f : α -> β -> γ) (A : Matrix.{u7, u6, u5} l m α) (B : Matrix.{u4, u3, u2} n p β), Eq.{max (max (max (max (succ u1) (succ u7)) (succ u6)) (succ u4)) (succ u3)} (Matrix.{max u3 u6, max u4 u7, u1} (Prod.{u6, u3} m p) (Prod.{u7, u4} l n) γ) (Matrix.kroneckerMap.{u5, u2, u1, u6, u7, u3, u4} α β γ m l p n f (Matrix.transpose.{u5, u7, u6} l m α A) (Matrix.transpose.{u2, u4, u3} n p β B)) (Matrix.transpose.{u1, max u4 u7, max u3 u6} (Prod.{u7, u4} l n) (Prod.{u6, u3} m p) γ (Matrix.kroneckerMap.{u5, u2, u1, u7, u6, u4, u3} α β γ l m n p f A B))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_transpose Matrix.kroneckerMap_transposeₓ'. -/
 theorem kroneckerMap_transpose (f : α → β → γ) (A : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f Aᵀ Bᵀ = (kroneckerMap f A B)ᵀ :=
   ext fun i j => rfl
 #align matrix.kronecker_map_transpose Matrix.kroneckerMap_transpose
 
+/- warning: matrix.kronecker_map_map_left -> Matrix.kroneckerMap_map_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {α' : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {p : Type.{u8}} (f : α' -> β -> γ) (g : α -> α') (A : Matrix.{u5, u6, u1} l m α) (B : Matrix.{u7, u8, u3} n p β), Eq.{succ (max (max u5 u7) (max u6 u8) u4)} (Matrix.{max u5 u7, max u6 u8, u4} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) γ) (Matrix.kroneckerMap.{u2, u3, u4, u5, u6, u7, u8} α' β γ l m n p f (Matrix.map.{u1, u2, u5, u6} l m α α' A g) B) (Matrix.kroneckerMap.{u1, u3, u4, u5, u6, u7, u8} α β γ l m n p (fun (a : α) (b : β) => f (g a) b) A B)
+but is expected to have type
+  forall {α : Type.{u6}} {α' : Type.{u1}} {β : Type.{u3}} {γ : Type.{u2}} {l : Type.{u8}} {m : Type.{u7}} {n : Type.{u5}} {p : Type.{u4}} (f : α' -> β -> γ) (g : α -> α') (A : Matrix.{u8, u7, u6} l m α) (B : Matrix.{u5, u4, u3} n p β), Eq.{max (max (max (max (succ u2) (succ u8)) (succ u7)) (succ u5)) (succ u4)} (Matrix.{max u5 u8, max u4 u7, u2} (Prod.{u8, u5} l n) (Prod.{u7, u4} m p) γ) (Matrix.kroneckerMap.{u1, u3, u2, u8, u7, u5, u4} α' β γ l m n p f (Matrix.map.{u6, u1, u8, u7} l m α α' A g) B) (Matrix.kroneckerMap.{u6, u3, u2, u8, u7, u5, u4} α β γ l m n p (fun (a : α) (b : β) => f (g a) b) A B)
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_map_left Matrix.kroneckerMap_map_leftₓ'. -/
 theorem kroneckerMap_map_left (f : α' → β → γ) (g : α → α') (A : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f (A.map g) B = kroneckerMap (fun a b => f (g a) b) A B :=
   ext fun i j => rfl
 #align matrix.kronecker_map_map_left Matrix.kroneckerMap_map_left
 
+/- warning: matrix.kronecker_map_map_right -> Matrix.kroneckerMap_map_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {β' : Type.{u3}} {γ : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {p : Type.{u8}} (f : α -> β' -> γ) (g : β -> β') (A : Matrix.{u5, u6, u1} l m α) (B : Matrix.{u7, u8, u2} n p β), Eq.{succ (max (max u5 u7) (max u6 u8) u4)} (Matrix.{max u5 u7, max u6 u8, u4} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) γ) (Matrix.kroneckerMap.{u1, u3, u4, u5, u6, u7, u8} α β' γ l m n p f A (Matrix.map.{u2, u3, u7, u8} n p β β' B g)) (Matrix.kroneckerMap.{u1, u2, u4, u5, u6, u7, u8} α β γ l m n p (fun (a : α) (b : β) => f a (g b)) A B)
+but is expected to have type
+  forall {α : Type.{u6}} {β : Type.{u3}} {β' : Type.{u1}} {γ : Type.{u2}} {l : Type.{u8}} {m : Type.{u7}} {n : Type.{u5}} {p : Type.{u4}} (f : α -> β' -> γ) (g : β -> β') (A : Matrix.{u8, u7, u6} l m α) (B : Matrix.{u5, u4, u3} n p β), Eq.{max (max (max (max (succ u2) (succ u8)) (succ u7)) (succ u5)) (succ u4)} (Matrix.{max u5 u8, max u4 u7, u2} (Prod.{u8, u5} l n) (Prod.{u7, u4} m p) γ) (Matrix.kroneckerMap.{u6, u1, u2, u8, u7, u5, u4} α β' γ l m n p f A (Matrix.map.{u3, u1, u5, u4} n p β β' B g)) (Matrix.kroneckerMap.{u6, u3, u2, u8, u7, u5, u4} α β γ l m n p (fun (a : α) (b : β) => f a (g b)) A B)
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_map_right Matrix.kroneckerMap_map_rightₓ'. -/
 theorem kroneckerMap_map_right (f : α → β' → γ) (g : β → β') (A : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f A (B.map g) = kroneckerMap (fun a b => f a (g b)) A B :=
   ext fun i j => rfl
 #align matrix.kronecker_map_map_right Matrix.kroneckerMap_map_right
 
+/- warning: matrix.kronecker_map_map -> Matrix.kroneckerMap_map is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {γ' : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {p : Type.{u8}} (f : α -> β -> γ) (g : γ -> γ') (A : Matrix.{u5, u6, u1} l m α) (B : Matrix.{u7, u8, u2} n p β), Eq.{succ (max (max u5 u7) (max u6 u8) u4)} (Matrix.{max u5 u7, max u6 u8, u4} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) γ') (Matrix.map.{u3, u4, max u5 u7, max u6 u8} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) γ γ' (Matrix.kroneckerMap.{u1, u2, u3, u5, u6, u7, u8} α β γ l m n p f A B) g) (Matrix.kroneckerMap.{u1, u2, u4, u5, u6, u7, u8} α β γ' l m n p (fun (a : α) (b : β) => g (f a b)) A B)
+but is expected to have type
+  forall {α : Type.{u6}} {β : Type.{u3}} {γ : Type.{u1}} {γ' : Type.{u2}} {l : Type.{u8}} {m : Type.{u7}} {n : Type.{u5}} {p : Type.{u4}} (f : α -> β -> γ) (g : γ -> γ') (A : Matrix.{u8, u7, u6} l m α) (B : Matrix.{u5, u4, u3} n p β), Eq.{max (max (max (max (succ u2) (succ u8)) (succ u7)) (succ u5)) (succ u4)} (Matrix.{max u8 u5, max u7 u4, u2} (Prod.{u8, u5} l n) (Prod.{u7, u4} m p) γ') (Matrix.map.{u1, u2, max u8 u5, max u7 u4} (Prod.{u8, u5} l n) (Prod.{u7, u4} m p) γ γ' (Matrix.kroneckerMap.{u6, u3, u1, u8, u7, u5, u4} α β γ l m n p f A B) g) (Matrix.kroneckerMap.{u6, u3, u2, u8, u7, u5, u4} α β γ' l m n p (fun (a : α) (b : β) => g (f a b)) A B)
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_map Matrix.kroneckerMap_mapₓ'. -/
 theorem kroneckerMap_map (f : α → β → γ) (g : γ → γ') (A : Matrix l m α) (B : Matrix n p β) :
     (kroneckerMap f A B).map g = kroneckerMap (fun a b => g (f a b)) A B :=
   ext fun i j => rfl
 #align matrix.kronecker_map_map Matrix.kroneckerMap_map
 
+/- warning: matrix.kronecker_map_zero_left -> Matrix.kroneckerMap_zero_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : Zero.{u1} α] [_inst_2 : Zero.{u3} γ] (f : α -> β -> γ), (forall (b : β), Eq.{succ u3} γ (f (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α _inst_1))) b) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_2)))) -> (forall (B : Matrix.{u6, u7, u2} n p β), Eq.{succ (max (max u4 u6) (max u5 u7) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f (OfNat.ofNat.{max u4 u5 u1} (Matrix.{u4, u5, u1} l m α) 0 (OfNat.mk.{max u4 u5 u1} (Matrix.{u4, u5, u1} l m α) 0 (Zero.zero.{max u4 u5 u1} (Matrix.{u4, u5, u1} l m α) (Matrix.hasZero.{u1, u4, u5} l m α _inst_1)))) B) (OfNat.ofNat.{max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) 0 (OfNat.mk.{max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) 0 (Zero.zero.{max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.hasZero.{u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ _inst_2)))))
+but is expected to have type
+  forall {α : Type.{u7}} {β : Type.{u3}} {γ : Type.{u6}} {l : Type.{u2}} {m : Type.{u1}} {n : Type.{u5}} {p : Type.{u4}} [_inst_1 : Zero.{u7} α] [_inst_2 : Zero.{u6} γ] (f : α -> β -> γ), (forall (b : β), Eq.{succ u6} γ (f (OfNat.ofNat.{u7} α 0 (Zero.toOfNat0.{u7} α _inst_1)) b) (OfNat.ofNat.{u6} γ 0 (Zero.toOfNat0.{u6} γ _inst_2))) -> (forall (B : Matrix.{u5, u4, u3} n p β), Eq.{max (max (max (max (succ u6) (succ u2)) (succ u1)) (succ u5)) (succ u4)} (Matrix.{max u5 u2, max u4 u1, u6} (Prod.{u2, u5} l n) (Prod.{u1, u4} m p) γ) (Matrix.kroneckerMap.{u7, u3, u6, u2, u1, u5, u4} α β γ l m n p f (OfNat.ofNat.{max (max u7 u2) u1} (Matrix.{u2, u1, u7} l m α) 0 (Zero.toOfNat0.{max (max u7 u2) u1} (Matrix.{u2, u1, u7} l m α) (Matrix.zero.{u7, u2, u1} l m α _inst_1))) B) (OfNat.ofNat.{max (max (max (max u6 u2) u1) u5) u4} (Matrix.{max u5 u2, max u4 u1, u6} (Prod.{u2, u5} l n) (Prod.{u1, u4} m p) γ) 0 (Zero.toOfNat0.{max (max (max (max u6 u2) u1) u5) u4} (Matrix.{max u5 u2, max u4 u1, u6} (Prod.{u2, u5} l n) (Prod.{u1, u4} m p) γ) (Matrix.zero.{u6, max u2 u5, max u1 u4} (Prod.{u2, u5} l n) (Prod.{u1, u4} m p) γ _inst_2))))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_zero_left Matrix.kroneckerMap_zero_leftₓ'. -/
 @[simp]
 theorem kroneckerMap_zero_left [Zero α] [Zero γ] (f : α → β → γ) (hf : ∀ b, f 0 b = 0)
     (B : Matrix n p β) : kroneckerMap f (0 : Matrix l m α) B = 0 :=
   ext fun i j => hf _
 #align matrix.kronecker_map_zero_left Matrix.kroneckerMap_zero_left
 
+/- warning: matrix.kronecker_map_zero_right -> Matrix.kroneckerMap_zero_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : Zero.{u2} β] [_inst_2 : Zero.{u3} γ] (f : α -> β -> γ), (forall (a : α), Eq.{succ u3} γ (f a (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_1)))) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_2)))) -> (forall (A : Matrix.{u4, u5, u1} l m α), Eq.{succ (max (max u4 u6) (max u5 u7) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A (OfNat.ofNat.{max u6 u7 u2} (Matrix.{u6, u7, u2} n p β) 0 (OfNat.mk.{max u6 u7 u2} (Matrix.{u6, u7, u2} n p β) 0 (Zero.zero.{max u6 u7 u2} (Matrix.{u6, u7, u2} n p β) (Matrix.hasZero.{u2, u6, u7} n p β _inst_1))))) (OfNat.ofNat.{max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) 0 (OfNat.mk.{max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) 0 (Zero.zero.{max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.hasZero.{u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ _inst_2)))))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u7}} {γ : Type.{u6}} {l : Type.{u5}} {m : Type.{u4}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : Zero.{u7} β] [_inst_2 : Zero.{u6} γ] (f : α -> β -> γ), (forall (a : α), Eq.{succ u6} γ (f a (OfNat.ofNat.{u7} β 0 (Zero.toOfNat0.{u7} β _inst_1))) (OfNat.ofNat.{u6} γ 0 (Zero.toOfNat0.{u6} γ _inst_2))) -> (forall (A : Matrix.{u5, u4, u3} l m α), Eq.{max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u2)) (succ u1)} (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.kroneckerMap.{u3, u7, u6, u5, u4, u2, u1} α β γ l m n p f A (OfNat.ofNat.{max (max u7 u2) u1} (Matrix.{u2, u1, u7} n p β) 0 (Zero.toOfNat0.{max (max u7 u2) u1} (Matrix.{u2, u1, u7} n p β) (Matrix.zero.{u7, u2, u1} n p β _inst_1)))) (OfNat.ofNat.{max (max (max (max u6 u5) u4) u2) u1} (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) 0 (Zero.toOfNat0.{max (max (max (max u6 u5) u4) u2) u1} (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.zero.{u6, max u5 u2, max u4 u1} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ _inst_2))))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_zero_right Matrix.kroneckerMap_zero_rightₓ'. -/
 @[simp]
 theorem kroneckerMap_zero_right [Zero β] [Zero γ] (f : α → β → γ) (hf : ∀ a, f a 0 = 0)
     (A : Matrix l m α) : kroneckerMap f A (0 : Matrix n p β) = 0 :=
   ext fun i j => hf _
 #align matrix.kronecker_map_zero_right Matrix.kroneckerMap_zero_right
 
+/- warning: matrix.kronecker_map_add_left -> Matrix.kroneckerMap_add_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : Add.{u1} α] [_inst_2 : Add.{u3} γ] (f : α -> β -> γ), (forall (a₁ : α) (a₂ : α) (b : β), Eq.{succ u3} γ (f (HAdd.hAdd.{u1, u1, u1} α α α (instHAdd.{u1} α _inst_1) a₁ a₂) b) (HAdd.hAdd.{u3, u3, u3} γ γ γ (instHAdd.{u3} γ _inst_2) (f a₁ b) (f a₂ b))) -> (forall (A₁ : Matrix.{u4, u5, u1} l m α) (A₂ : Matrix.{u4, u5, u1} l m α) (B : Matrix.{u6, u7, u2} n p β), Eq.{succ (max (max u4 u6) (max u5 u7) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f (HAdd.hAdd.{max u4 u5 u1, max u4 u5 u1, max u4 u5 u1} (Matrix.{u4, u5, u1} l m α) (Matrix.{u4, u5, u1} l m α) (Matrix.{u4, u5, u1} l m α) (instHAdd.{max u4 u5 u1} (Matrix.{u4, u5, u1} l m α) (Matrix.hasAdd.{u1, u4, u5} l m α _inst_1)) A₁ A₂) B) (HAdd.hAdd.{max (max u4 u6) (max u5 u7) u3, max (max u4 u6) (max u5 u7) u3, max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (instHAdd.{max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.hasAdd.{u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ _inst_2)) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A₁ B) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A₂ B)))
+but is expected to have type
+  forall {α : Type.{u7}} {β : Type.{u1}} {γ : Type.{u6}} {l : Type.{u5}} {m : Type.{u4}} {n : Type.{u3}} {p : Type.{u2}} [_inst_1 : Add.{u7} α] [_inst_2 : Add.{u6} γ] (f : α -> β -> γ), (forall (a₁ : α) (a₂ : α) (b : β), Eq.{succ u6} γ (f (HAdd.hAdd.{u7, u7, u7} α α α (instHAdd.{u7} α _inst_1) a₁ a₂) b) (HAdd.hAdd.{u6, u6, u6} γ γ γ (instHAdd.{u6} γ _inst_2) (f a₁ b) (f a₂ b))) -> (forall (A₁ : Matrix.{u5, u4, u7} l m α) (A₂ : Matrix.{u5, u4, u7} l m α) (B : Matrix.{u3, u2, u1} n p β), Eq.{max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)} (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (Matrix.kroneckerMap.{u7, u1, u6, u5, u4, u3, u2} α β γ l m n p f (HAdd.hAdd.{max (max u7 u5) u4, max (max u7 u5) u4, max (max u7 u5) u4} (Matrix.{u5, u4, u7} l m α) (Matrix.{u5, u4, u7} l m α) (Matrix.{u5, u4, u7} l m α) (instHAdd.{max (max u7 u5) u4} (Matrix.{u5, u4, u7} l m α) (Matrix.add.{u7, u5, u4} l m α _inst_1)) A₁ A₂) B) (HAdd.hAdd.{max (max (max (max u6 u5) u4) u3) u2, max (max (max (max u6 u5) u4) u3) u2, max (max (max (max u6 u5) u4) u3) u2} (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (instHAdd.{max (max (max (max u6 u5) u4) u3) u2} (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (Matrix.add.{u6, max u5 u3, max u4 u2} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ _inst_2)) (Matrix.kroneckerMap.{u7, u1, u6, u5, u4, u3, u2} α β γ l m n p f A₁ B) (Matrix.kroneckerMap.{u7, u1, u6, u5, u4, u3, u2} α β γ l m n p f A₂ B)))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_add_left Matrix.kroneckerMap_add_leftₓ'. -/
 theorem kroneckerMap_add_left [Add α] [Add γ] (f : α → β → γ)
     (hf : ∀ a₁ a₂ b, f (a₁ + a₂) b = f a₁ b + f a₂ b) (A₁ A₂ : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f (A₁ + A₂) B = kroneckerMap f A₁ B + kroneckerMap f A₂ B :=
   ext fun i j => hf _ _ _
 #align matrix.kronecker_map_add_left Matrix.kroneckerMap_add_left
 
+/- warning: matrix.kronecker_map_add_right -> Matrix.kroneckerMap_add_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : Add.{u2} β] [_inst_2 : Add.{u3} γ] (f : α -> β -> γ), (forall (a : α) (b₁ : β) (b₂ : β), Eq.{succ u3} γ (f a (HAdd.hAdd.{u2, u2, u2} β β β (instHAdd.{u2} β _inst_1) b₁ b₂)) (HAdd.hAdd.{u3, u3, u3} γ γ γ (instHAdd.{u3} γ _inst_2) (f a b₁) (f a b₂))) -> (forall (A : Matrix.{u4, u5, u1} l m α) (B₁ : Matrix.{u6, u7, u2} n p β) (B₂ : Matrix.{u6, u7, u2} n p β), Eq.{succ (max (max u4 u6) (max u5 u7) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A (HAdd.hAdd.{max u6 u7 u2, max u6 u7 u2, max u6 u7 u2} (Matrix.{u6, u7, u2} n p β) (Matrix.{u6, u7, u2} n p β) (Matrix.{u6, u7, u2} n p β) (instHAdd.{max u6 u7 u2} (Matrix.{u6, u7, u2} n p β) (Matrix.hasAdd.{u2, u6, u7} n p β _inst_1)) B₁ B₂)) (HAdd.hAdd.{max (max u4 u6) (max u5 u7) u3, max (max u4 u6) (max u5 u7) u3, max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (instHAdd.{max (max u4 u6) (max u5 u7) u3} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.hasAdd.{u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ _inst_2)) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A B₁) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A B₂)))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u7}} {γ : Type.{u6}} {l : Type.{u5}} {m : Type.{u4}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : Add.{u7} β] [_inst_2 : Add.{u6} γ] (f : α -> β -> γ), (forall (a : α) (b₁ : β) (b₂ : β), Eq.{succ u6} γ (f a (HAdd.hAdd.{u7, u7, u7} β β β (instHAdd.{u7} β _inst_1) b₁ b₂)) (HAdd.hAdd.{u6, u6, u6} γ γ γ (instHAdd.{u6} γ _inst_2) (f a b₁) (f a b₂))) -> (forall (A : Matrix.{u5, u4, u3} l m α) (B₁ : Matrix.{u2, u1, u7} n p β) (B₂ : Matrix.{u2, u1, u7} n p β), Eq.{max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u2)) (succ u1)} (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.kroneckerMap.{u3, u7, u6, u5, u4, u2, u1} α β γ l m n p f A (HAdd.hAdd.{max (max u7 u2) u1, max (max u7 u2) u1, max (max u7 u2) u1} (Matrix.{u2, u1, u7} n p β) (Matrix.{u2, u1, u7} n p β) (Matrix.{u2, u1, u7} n p β) (instHAdd.{max (max u7 u2) u1} (Matrix.{u2, u1, u7} n p β) (Matrix.add.{u7, u2, u1} n p β _inst_1)) B₁ B₂)) (HAdd.hAdd.{max (max (max (max u6 u5) u4) u2) u1, max (max (max (max u6 u5) u4) u2) u1, max (max (max (max u6 u5) u4) u2) u1} (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (instHAdd.{max (max (max (max u6 u5) u4) u2) u1} (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.add.{u6, max u5 u2, max u4 u1} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ _inst_2)) (Matrix.kroneckerMap.{u3, u7, u6, u5, u4, u2, u1} α β γ l m n p f A B₁) (Matrix.kroneckerMap.{u3, u7, u6, u5, u4, u2, u1} α β γ l m n p f A B₂)))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_add_right Matrix.kroneckerMap_add_rightₓ'. -/
 theorem kroneckerMap_add_right [Add β] [Add γ] (f : α → β → γ)
     (hf : ∀ a b₁ b₂, f a (b₁ + b₂) = f a b₁ + f a b₂) (A : Matrix l m α) (B₁ B₂ : Matrix n p β) :
     kroneckerMap f A (B₁ + B₂) = kroneckerMap f A B₁ + kroneckerMap f A B₂ :=
   ext fun i j => hf _ _ _
 #align matrix.kronecker_map_add_right Matrix.kroneckerMap_add_right
 
+/- warning: matrix.kronecker_map_smul_left -> Matrix.kroneckerMap_smul_left is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {p : Type.{u8}} [_inst_1 : SMul.{u1, u2} R α] [_inst_2 : SMul.{u1, u4} R γ] (f : α -> β -> γ) (r : R), (forall (a : α) (b : β), Eq.{succ u4} γ (f (SMul.smul.{u1, u2} R α _inst_1 r a) b) (SMul.smul.{u1, u4} R γ _inst_2 r (f a b))) -> (forall (A : Matrix.{u5, u6, u2} l m α) (B : Matrix.{u7, u8, u3} n p β), Eq.{succ (max (max u5 u7) (max u6 u8) u4)} (Matrix.{max u5 u7, max u6 u8, u4} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) γ) (Matrix.kroneckerMap.{u2, u3, u4, u5, u6, u7, u8} α β γ l m n p f (SMul.smul.{u1, max u5 u6 u2} R (Matrix.{u5, u6, u2} l m α) (Matrix.hasSmul.{u2, u5, u6, u1} l m R α _inst_1) r A) B) (SMul.smul.{u1, max (max u5 u7) (max u6 u8) u4} R (Matrix.{max u5 u7, max u6 u8, u4} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) γ) (Matrix.hasSmul.{u4, max u5 u7, max u6 u8, u1} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) R γ _inst_2) r (Matrix.kroneckerMap.{u2, u3, u4, u5, u6, u7, u8} α β γ l m n p f A B)))
+but is expected to have type
+  forall {R : Type.{u8}} {α : Type.{u7}} {β : Type.{u1}} {γ : Type.{u6}} {l : Type.{u5}} {m : Type.{u4}} {n : Type.{u3}} {p : Type.{u2}} [_inst_1 : SMul.{u8, u7} R α] [_inst_2 : SMul.{u8, u6} R γ] (f : α -> β -> γ) (r : R), (forall (a : α) (b : β), Eq.{succ u6} γ (f (HSMul.hSMul.{u8, u7, u7} R α α (instHSMul.{u8, u7} R α _inst_1) r a) b) (HSMul.hSMul.{u8, u6, u6} R γ γ (instHSMul.{u8, u6} R γ _inst_2) r (f a b))) -> (forall (A : Matrix.{u5, u4, u7} l m α) (B : Matrix.{u3, u2, u1} n p β), Eq.{max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)} (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (Matrix.kroneckerMap.{u7, u1, u6, u5, u4, u3, u2} α β γ l m n p f (HSMul.hSMul.{u8, max (max u7 u5) u4, max (max u7 u5) u4} R (Matrix.{u5, u4, u7} l m α) (Matrix.{u5, u4, u7} l m α) (instHSMul.{u8, max (max u7 u5) u4} R (Matrix.{u5, u4, u7} l m α) (Matrix.smul.{u7, u5, u4, u8} l m R α _inst_1)) r A) B) (HSMul.hSMul.{u8, max (max (max (max u2 u3) u4) u5) u6, max (max (max (max u6 u5) u4) u3) u2} R (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (instHSMul.{u8, max (max (max (max u6 u5) u4) u3) u2} R (Matrix.{max u3 u5, max u2 u4, u6} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) γ) (Matrix.smul.{u6, max u5 u3, max u4 u2, u8} (Prod.{u5, u3} l n) (Prod.{u4, u2} m p) R γ _inst_2)) r (Matrix.kroneckerMap.{u7, u1, u6, u5, u4, u3, u2} α β γ l m n p f A B)))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_smul_left Matrix.kroneckerMap_smul_leftₓ'. -/
 theorem kroneckerMap_smul_left [SMul R α] [SMul R γ] (f : α → β → γ) (r : R)
     (hf : ∀ a b, f (r • a) b = r • f a b) (A : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f (r • A) B = r • kroneckerMap f A B :=
   ext fun i j => hf _ _
 #align matrix.kronecker_map_smul_left Matrix.kroneckerMap_smul_left
 
+/- warning: matrix.kronecker_map_smul_right -> Matrix.kroneckerMap_smul_right is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {p : Type.{u8}} [_inst_1 : SMul.{u1, u3} R β] [_inst_2 : SMul.{u1, u4} R γ] (f : α -> β -> γ) (r : R), (forall (a : α) (b : β), Eq.{succ u4} γ (f a (SMul.smul.{u1, u3} R β _inst_1 r b)) (SMul.smul.{u1, u4} R γ _inst_2 r (f a b))) -> (forall (A : Matrix.{u5, u6, u2} l m α) (B : Matrix.{u7, u8, u3} n p β), Eq.{succ (max (max u5 u7) (max u6 u8) u4)} (Matrix.{max u5 u7, max u6 u8, u4} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) γ) (Matrix.kroneckerMap.{u2, u3, u4, u5, u6, u7, u8} α β γ l m n p f A (SMul.smul.{u1, max u7 u8 u3} R (Matrix.{u7, u8, u3} n p β) (Matrix.hasSmul.{u3, u7, u8, u1} n p R β _inst_1) r B)) (SMul.smul.{u1, max (max u5 u7) (max u6 u8) u4} R (Matrix.{max u5 u7, max u6 u8, u4} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) γ) (Matrix.hasSmul.{u4, max u5 u7, max u6 u8, u1} (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) R γ _inst_2) r (Matrix.kroneckerMap.{u2, u3, u4, u5, u6, u7, u8} α β γ l m n p f A B)))
+but is expected to have type
+  forall {R : Type.{u8}} {α : Type.{u3}} {β : Type.{u7}} {γ : Type.{u6}} {l : Type.{u5}} {m : Type.{u4}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : SMul.{u8, u7} R β] [_inst_2 : SMul.{u8, u6} R γ] (f : α -> β -> γ) (r : R), (forall (a : α) (b : β), Eq.{succ u6} γ (f a (HSMul.hSMul.{u8, u7, u7} R β β (instHSMul.{u8, u7} R β _inst_1) r b)) (HSMul.hSMul.{u8, u6, u6} R γ γ (instHSMul.{u8, u6} R γ _inst_2) r (f a b))) -> (forall (A : Matrix.{u5, u4, u3} l m α) (B : Matrix.{u2, u1, u7} n p β), Eq.{max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u2)) (succ u1)} (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.kroneckerMap.{u3, u7, u6, u5, u4, u2, u1} α β γ l m n p f A (HSMul.hSMul.{u8, max (max u7 u2) u1, max (max u7 u2) u1} R (Matrix.{u2, u1, u7} n p β) (Matrix.{u2, u1, u7} n p β) (instHSMul.{u8, max (max u7 u2) u1} R (Matrix.{u2, u1, u7} n p β) (Matrix.smul.{u7, u2, u1, u8} n p R β _inst_1)) r B)) (HSMul.hSMul.{u8, max (max (max (max u1 u2) u4) u5) u6, max (max (max (max u6 u5) u4) u2) u1} R (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (instHSMul.{u8, max (max (max (max u6 u5) u4) u2) u1} R (Matrix.{max u2 u5, max u1 u4, u6} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) γ) (Matrix.smul.{u6, max u5 u2, max u4 u1, u8} (Prod.{u5, u2} l n) (Prod.{u4, u1} m p) R γ _inst_2)) r (Matrix.kroneckerMap.{u3, u7, u6, u5, u4, u2, u1} α β γ l m n p f A B)))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_smul_right Matrix.kroneckerMap_smul_rightₓ'. -/
 theorem kroneckerMap_smul_right [SMul R β] [SMul R γ] (f : α → β → γ) (r : R)
     (hf : ∀ a b, f a (r • b) = r • f a b) (A : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f A (r • B) = r • kroneckerMap f A B :=
   ext fun i j => hf _ _
 #align matrix.kronecker_map_smul_right Matrix.kroneckerMap_smul_right
 
+/- warning: matrix.kronecker_map_diagonal_diagonal -> Matrix.kroneckerMap_diagonal_diagonal is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} [_inst_1 : Zero.{u1} α] [_inst_2 : Zero.{u2} β] [_inst_3 : Zero.{u3} γ] [_inst_4 : DecidableEq.{succ u4} m] [_inst_5 : DecidableEq.{succ u5} n] (f : α -> β -> γ), (forall (b : β), Eq.{succ u3} γ (f (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α _inst_1))) b) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_3)))) -> (forall (a : α), Eq.{succ u3} γ (f a (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_3)))) -> (forall (a : m -> α) (b : n -> β), Eq.{succ (max (max u4 u5) u3)} (Matrix.{max u4 u5, max u4 u5, u3} (Prod.{u4, u5} m n) (Prod.{u4, u5} m n) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u4, u5, u5} α β γ m m n n f (Matrix.diagonal.{u1, u4} m α (fun (a : m) (b : m) => _inst_4 a b) _inst_1 a) (Matrix.diagonal.{u2, u5} n β (fun (a : n) (b : n) => _inst_5 a b) _inst_2 b)) (Matrix.diagonal.{u3, max u4 u5} (Prod.{u4, u5} m n) γ (fun (a : Prod.{u4, u5} m n) (b : Prod.{u4, u5} m n) => Prod.Lex.decidableEq.{u4, u5} m n (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_3 (fun (mn : Prod.{u4, u5} m n) => f (a (Prod.fst.{u4, u5} m n mn)) (b (Prod.snd.{u4, u5} m n mn)))))
+but is expected to have type
+  forall {α : Type.{u5}} {β : Type.{u4}} {γ : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} [_inst_1 : Zero.{u5} α] [_inst_2 : Zero.{u4} β] [_inst_3 : Zero.{u3} γ] [_inst_4 : DecidableEq.{succ u2} m] [_inst_5 : DecidableEq.{succ u1} n] (f : α -> β -> γ), (forall (b : β), Eq.{succ u3} γ (f (OfNat.ofNat.{u5} α 0 (Zero.toOfNat0.{u5} α _inst_1)) b) (OfNat.ofNat.{u3} γ 0 (Zero.toOfNat0.{u3} γ _inst_3))) -> (forall (a : α), Eq.{succ u3} γ (f a (OfNat.ofNat.{u4} β 0 (Zero.toOfNat0.{u4} β _inst_2))) (OfNat.ofNat.{u3} γ 0 (Zero.toOfNat0.{u3} γ _inst_3))) -> (forall (a : m -> α) (b : n -> β), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (Matrix.{max u1 u2, max u1 u2, u3} (Prod.{u2, u1} m n) (Prod.{u2, u1} m n) γ) (Matrix.kroneckerMap.{u5, u4, u3, u2, u2, u1, u1} α β γ m m n n f (Matrix.diagonal.{u5, u2} m α (fun (a : m) (b : m) => _inst_4 a b) _inst_1 a) (Matrix.diagonal.{u4, u1} n β (fun (a : n) (b : n) => _inst_5 a b) _inst_2 b)) (Matrix.diagonal.{u3, max u2 u1} (Prod.{u2, u1} m n) γ (fun (a : Prod.{u2, u1} m n) (b : Prod.{u2, u1} m n) => instDecidableEqProd.{u2, u1} m n (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_3 (fun (mn : Prod.{u2, u1} m n) => f (a (Prod.fst.{u2, u1} m n mn)) (b (Prod.snd.{u2, u1} m n mn)))))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_diagonal_diagonal Matrix.kroneckerMap_diagonal_diagonalₓ'. -/
 theorem kroneckerMap_diagonal_diagonal [Zero α] [Zero β] [Zero γ] [DecidableEq m] [DecidableEq n]
     (f : α → β → γ) (hf₁ : ∀ b, f 0 b = 0) (hf₂ : ∀ a, f a 0 = 0) (a : m → α) (b : n → β) :
     kroneckerMap f (diagonal a) (diagonal b) = diagonal fun mn => f (a mn.1) (b mn.2) :=
@@ -133,6 +207,12 @@ theorem kroneckerMap_diagonal_diagonal [Zero α] [Zero β] [Zero γ] [DecidableE
   simp [diagonal, apply_ite f, ite_and, ite_apply, apply_ite (f (a i₁)), hf₁, hf₂]
 #align matrix.kronecker_map_diagonal_diagonal Matrix.kroneckerMap_diagonal_diagonal
 
+/- warning: matrix.kronecker_map_diagonal_right -> Matrix.kroneckerMap_diagonal_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} [_inst_1 : Zero.{u2} β] [_inst_2 : Zero.{u3} γ] [_inst_3 : DecidableEq.{succ u6} n] (f : α -> β -> γ), (forall (a : α), Eq.{succ u3} γ (f a (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_1)))) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_2)))) -> (forall (A : Matrix.{u4, u5, u1} l m α) (b : n -> β), Eq.{succ (max (max u4 u6) (max u5 u6) u3)} (Matrix.{max u4 u6, max u5 u6, u3} (Prod.{u4, u6} l n) (Prod.{u5, u6} m n) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u6} α β γ l m n n f A (Matrix.diagonal.{u2, u6} n β (fun (a : n) (b : n) => _inst_3 a b) _inst_1 b)) (Matrix.blockDiagonal.{u4, u5, u6, u3} l m n γ (fun (a : n) (b : n) => _inst_3 a b) _inst_2 (fun (i : n) => Matrix.map.{u1, u3, u4, u5} l m α γ A (fun (a : α) => f a (b i)))))
+but is expected to have type
+  forall {α : Type.{u1}} {β : Type.{u6}} {γ : Type.{u5}} {l : Type.{u3}} {m : Type.{u2}} {n : Type.{u4}} [_inst_1 : Zero.{u6} β] [_inst_2 : Zero.{u5} γ] [_inst_3 : DecidableEq.{succ u4} n] (f : α -> β -> γ), (forall (a : α), Eq.{succ u5} γ (f a (OfNat.ofNat.{u6} β 0 (Zero.toOfNat0.{u6} β _inst_1))) (OfNat.ofNat.{u5} γ 0 (Zero.toOfNat0.{u5} γ _inst_2))) -> (forall (A : Matrix.{u3, u2, u1} l m α) (b : n -> β), Eq.{max (max (max (succ u5) (succ u3)) (succ u2)) (succ u4)} (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} l n) (Prod.{u2, u4} m n) γ) (Matrix.kroneckerMap.{u1, u6, u5, u3, u2, u4, u4} α β γ l m n n f A (Matrix.diagonal.{u6, u4} n β (fun (a : n) (b : n) => _inst_3 a b) _inst_1 b)) (Matrix.blockDiagonal.{u3, u2, u4, u5} l m n γ (fun (a : n) (b : n) => _inst_3 a b) _inst_2 (fun (i : n) => Matrix.map.{u1, u5, u3, u2} l m α γ A (fun (a : α) => f a (b i)))))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_diagonal_right Matrix.kroneckerMap_diagonal_rightₓ'. -/
 theorem kroneckerMap_diagonal_right [Zero β] [Zero γ] [DecidableEq n] (f : α → β → γ)
     (hf : ∀ a, f a 0 = 0) (A : Matrix l m α) (b : n → β) :
     kroneckerMap f A (diagonal b) = blockDiagonal fun i => A.map fun a => f a (b i) :=
@@ -141,6 +221,12 @@ theorem kroneckerMap_diagonal_right [Zero β] [Zero γ] [DecidableEq n] (f : α
   simp [diagonal, block_diagonal, apply_ite (f (A i₁ j₁)), hf]
 #align matrix.kronecker_map_diagonal_right Matrix.kroneckerMap_diagonal_right
 
+/- warning: matrix.kronecker_map_diagonal_left -> Matrix.kroneckerMap_diagonal_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} [_inst_1 : Zero.{u1} α] [_inst_2 : Zero.{u3} γ] [_inst_3 : DecidableEq.{succ u4} l] (f : α -> β -> γ), (forall (b : β), Eq.{succ u3} γ (f (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α _inst_1))) b) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_2)))) -> (forall (a : l -> α) (B : Matrix.{u5, u6, u2} m n β), Eq.{succ (max (max u4 u5) (max u4 u6) u3)} (Matrix.{max u4 u5, max u4 u6, u3} (Prod.{u4, u5} l m) (Prod.{u4, u6} l n) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u4, u5, u6} α β γ l l m n f (Matrix.diagonal.{u1, u4} l α (fun (a : l) (b : l) => _inst_3 a b) _inst_1 a) B) (coeFn.{max 1 (max (succ (max (max u5 u4) (max u6 u4) u3)) (succ (max (max u4 u5) (max u4 u6) u3))) (succ (max (max u4 u5) (max u4 u6) u3)) (succ (max (max u5 u4) (max u6 u4) u3)), max (succ (max (max u5 u4) (max u6 u4) u3)) (succ (max (max u4 u5) (max u4 u6) u3))} (Equiv.{succ (max (max u5 u4) (max u6 u4) u3), succ (max (max u4 u5) (max u4 u6) u3)} (Matrix.{max u5 u4, max u6 u4, u3} (Prod.{u5, u4} m l) (Prod.{u6, u4} n l) γ) (Matrix.{max u4 u5, max u4 u6, u3} (Prod.{u4, u5} l m) (Prod.{u4, u6} l n) γ)) (fun (_x : Equiv.{succ (max (max u5 u4) (max u6 u4) u3), succ (max (max u4 u5) (max u4 u6) u3)} (Matrix.{max u5 u4, max u6 u4, u3} (Prod.{u5, u4} m l) (Prod.{u6, u4} n l) γ) (Matrix.{max u4 u5, max u4 u6, u3} (Prod.{u4, u5} l m) (Prod.{u4, u6} l n) γ)) => (Matrix.{max u5 u4, max u6 u4, u3} (Prod.{u5, u4} m l) (Prod.{u6, u4} n l) γ) -> (Matrix.{max u4 u5, max u4 u6, u3} (Prod.{u4, u5} l m) (Prod.{u4, u6} l n) γ)) (Equiv.hasCoeToFun.{succ (max (max u5 u4) (max u6 u4) u3), succ (max (max u4 u5) (max u4 u6) u3)} (Matrix.{max u5 u4, max u6 u4, u3} (Prod.{u5, u4} m l) (Prod.{u6, u4} n l) γ) (Matrix.{max u4 u5, max u4 u6, u3} (Prod.{u4, u5} l m) (Prod.{u4, u6} l n) γ)) (Matrix.reindex.{u3, max u4 u5, max u5 u4, max u6 u4, max u4 u6} (Prod.{u4, u5} l m) (Prod.{u5, u4} m l) (Prod.{u6, u4} n l) (Prod.{u4, u6} l n) γ (Equiv.prodComm.{u5, u4} m l) (Equiv.prodComm.{u6, u4} n l)) (Matrix.blockDiagonal.{u5, u6, u4, u3} m n l γ (fun (a : l) (b : l) => _inst_3 a b) _inst_2 (fun (i : l) => Matrix.map.{u2, u3, u5, u6} m n β γ B (fun (b : β) => f (a i) b)))))
+but is expected to have type
+  forall {α : Type.{u6}} {β : Type.{u1}} {γ : Type.{u5}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u2}} [_inst_1 : Zero.{u6} α] [_inst_2 : Zero.{u5} γ] [_inst_3 : DecidableEq.{succ u4} l] (f : α -> β -> γ), (forall (b : β), Eq.{succ u5} γ (f (OfNat.ofNat.{u6} α 0 (Zero.toOfNat0.{u6} α _inst_1)) b) (OfNat.ofNat.{u5} γ 0 (Zero.toOfNat0.{u5} γ _inst_2))) -> (forall (a : l -> α) (B : Matrix.{u3, u2, u1} m n β), Eq.{max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)} (Matrix.{max u3 u4, max u2 u4, u5} (Prod.{u4, u3} l m) (Prod.{u4, u2} l n) γ) (Matrix.kroneckerMap.{u6, u1, u5, u4, u4, u3, u2} α β γ l l m n f (Matrix.diagonal.{u6, u4} l α (fun (a : l) (b : l) => _inst_3 a b) _inst_1 a) B) (FunLike.coe.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2)} (Equiv.{max (max (succ u5) (succ (max u4 u2))) (succ (max u4 u3)), max (max (succ u5) (succ (max u4 u2))) (succ (max u4 u3))} (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u4, u3} l m) (Prod.{u4, u2} l n) γ)) (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) (fun (_x : Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) => Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u4, u3} l m) (Prod.{u4, u2} l n) γ) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u4)) (succ u2)} (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) γ) (Matrix.{max u4 u3, max u4 u2, u5} (Prod.{u4, u3} l m) (Prod.{u4, u2} l n) γ)) (Matrix.reindex.{u5, max u4 u3, max u4 u3, max u4 u2, max u4 u2} (Prod.{u4, u3} l m) (Prod.{u3, u4} m l) (Prod.{u2, u4} n l) (Prod.{u4, u2} l n) γ (Equiv.prodComm.{u3, u4} m l) (Equiv.prodComm.{u2, u4} n l)) (Matrix.blockDiagonal.{u3, u2, u4, u5} m n l γ (fun (a : l) (b : l) => _inst_3 a b) _inst_2 (fun (i : l) => Matrix.map.{u1, u5, u3, u2} m n β γ B (fun (b : β) => f (a i) b)))))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_diagonal_left Matrix.kroneckerMap_diagonal_leftₓ'. -/
 theorem kroneckerMap_diagonal_left [Zero α] [Zero γ] [DecidableEq l] (f : α → β → γ)
     (hf : ∀ b, f 0 b = 0) (a : l → α) (B : Matrix m n β) :
     kroneckerMap f (diagonal a) B =
@@ -151,6 +237,12 @@ theorem kroneckerMap_diagonal_left [Zero α] [Zero γ] [DecidableEq l] (f : α 
   simp [diagonal, block_diagonal, apply_ite f, ite_apply, hf]
 #align matrix.kronecker_map_diagonal_left Matrix.kroneckerMap_diagonal_left
 
+/- warning: matrix.kronecker_map_one_one -> Matrix.kroneckerMap_one_one is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} [_inst_1 : Zero.{u1} α] [_inst_2 : Zero.{u2} β] [_inst_3 : Zero.{u3} γ] [_inst_4 : One.{u1} α] [_inst_5 : One.{u2} β] [_inst_6 : One.{u3} γ] [_inst_7 : DecidableEq.{succ u4} m] [_inst_8 : DecidableEq.{succ u5} n] (f : α -> β -> γ), (forall (b : β), Eq.{succ u3} γ (f (OfNat.ofNat.{u1} α 0 (OfNat.mk.{u1} α 0 (Zero.zero.{u1} α _inst_1))) b) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_3)))) -> (forall (a : α), Eq.{succ u3} γ (f a (OfNat.ofNat.{u2} β 0 (OfNat.mk.{u2} β 0 (Zero.zero.{u2} β _inst_2)))) (OfNat.ofNat.{u3} γ 0 (OfNat.mk.{u3} γ 0 (Zero.zero.{u3} γ _inst_3)))) -> (Eq.{succ u3} γ (f (OfNat.ofNat.{u1} α 1 (OfNat.mk.{u1} α 1 (One.one.{u1} α _inst_4))) (OfNat.ofNat.{u2} β 1 (OfNat.mk.{u2} β 1 (One.one.{u2} β _inst_5)))) (OfNat.ofNat.{u3} γ 1 (OfNat.mk.{u3} γ 1 (One.one.{u3} γ _inst_6)))) -> (Eq.{succ (max (max u4 u5) u3)} (Matrix.{max u4 u5, max u4 u5, u3} (Prod.{u4, u5} m n) (Prod.{u4, u5} m n) γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u4, u5, u5} α β γ m m n n f (OfNat.ofNat.{max u4 u1} (Matrix.{u4, u4, u1} m m α) 1 (OfNat.mk.{max u4 u1} (Matrix.{u4, u4, u1} m m α) 1 (One.one.{max u4 u1} (Matrix.{u4, u4, u1} m m α) (Matrix.hasOne.{u1, u4} m α (fun (a : m) (b : m) => _inst_7 a b) _inst_1 _inst_4)))) (OfNat.ofNat.{max u5 u2} (Matrix.{u5, u5, u2} n n β) 1 (OfNat.mk.{max u5 u2} (Matrix.{u5, u5, u2} n n β) 1 (One.one.{max u5 u2} (Matrix.{u5, u5, u2} n n β) (Matrix.hasOne.{u2, u5} n β (fun (a : n) (b : n) => _inst_8 a b) _inst_2 _inst_5))))) (OfNat.ofNat.{max (max u4 u5) u3} (Matrix.{max u4 u5, max u4 u5, u3} (Prod.{u4, u5} m n) (Prod.{u4, u5} m n) γ) 1 (OfNat.mk.{max (max u4 u5) u3} (Matrix.{max u4 u5, max u4 u5, u3} (Prod.{u4, u5} m n) (Prod.{u4, u5} m n) γ) 1 (One.one.{max (max u4 u5) u3} (Matrix.{max u4 u5, max u4 u5, u3} (Prod.{u4, u5} m n) (Prod.{u4, u5} m n) γ) (Matrix.hasOne.{u3, max u4 u5} (Prod.{u4, u5} m n) γ (fun (a : Prod.{u4, u5} m n) (b : Prod.{u4, u5} m n) => Prod.Lex.decidableEq.{u4, u5} m n (fun (a : m) (b : m) => _inst_7 a b) (fun (a : n) (b : n) => _inst_8 a b) a b) _inst_3 _inst_6)))))
+but is expected to have type
+  forall {α : Type.{u5}} {β : Type.{u4}} {γ : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} [_inst_1 : Zero.{u5} α] [_inst_2 : Zero.{u4} β] [_inst_3 : Zero.{u3} γ] [_inst_4 : One.{u5} α] [_inst_5 : One.{u4} β] [_inst_6 : One.{u3} γ] [_inst_7 : DecidableEq.{succ u2} m] [_inst_8 : DecidableEq.{succ u1} n] (f : α -> β -> γ), (forall (b : β), Eq.{succ u3} γ (f (OfNat.ofNat.{u5} α 0 (Zero.toOfNat0.{u5} α _inst_1)) b) (OfNat.ofNat.{u3} γ 0 (Zero.toOfNat0.{u3} γ _inst_3))) -> (forall (a : α), Eq.{succ u3} γ (f a (OfNat.ofNat.{u4} β 0 (Zero.toOfNat0.{u4} β _inst_2))) (OfNat.ofNat.{u3} γ 0 (Zero.toOfNat0.{u3} γ _inst_3))) -> (Eq.{succ u3} γ (f (OfNat.ofNat.{u5} α 1 (One.toOfNat1.{u5} α _inst_4)) (OfNat.ofNat.{u4} β 1 (One.toOfNat1.{u4} β _inst_5))) (OfNat.ofNat.{u3} γ 1 (One.toOfNat1.{u3} γ _inst_6))) -> (Eq.{max (max (succ u3) (succ u2)) (succ u1)} (Matrix.{max u1 u2, max u1 u2, u3} (Prod.{u2, u1} m n) (Prod.{u2, u1} m n) γ) (Matrix.kroneckerMap.{u5, u4, u3, u2, u2, u1, u1} α β γ m m n n f (OfNat.ofNat.{max u5 u2} (Matrix.{u2, u2, u5} m m α) 1 (One.toOfNat1.{max u5 u2} (Matrix.{u2, u2, u5} m m α) (Matrix.one.{u5, u2} m α (fun (a : m) (b : m) => _inst_7 a b) _inst_1 _inst_4))) (OfNat.ofNat.{max u4 u1} (Matrix.{u1, u1, u4} n n β) 1 (One.toOfNat1.{max u4 u1} (Matrix.{u1, u1, u4} n n β) (Matrix.one.{u4, u1} n β (fun (a : n) (b : n) => _inst_8 a b) _inst_2 _inst_5)))) (OfNat.ofNat.{max (max u3 u2) u1} (Matrix.{max u1 u2, max u1 u2, u3} (Prod.{u2, u1} m n) (Prod.{u2, u1} m n) γ) 1 (One.toOfNat1.{max (max u3 u2) u1} (Matrix.{max u1 u2, max u1 u2, u3} (Prod.{u2, u1} m n) (Prod.{u2, u1} m n) γ) (Matrix.one.{u3, max u2 u1} (Prod.{u2, u1} m n) γ (fun (a : Prod.{u2, u1} m n) (b : Prod.{u2, u1} m n) => instDecidableEqProd.{u2, u1} m n (fun (a : m) (b : m) => _inst_7 a b) (fun (a : n) (b : n) => _inst_8 a b) a b) _inst_3 _inst_6))))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_one_one Matrix.kroneckerMap_one_oneₓ'. -/
 @[simp]
 theorem kroneckerMap_one_one [Zero α] [Zero β] [Zero γ] [One α] [One β] [One γ] [DecidableEq m]
     [DecidableEq n] (f : α → β → γ) (hf₁ : ∀ b, f 0 b = 0) (hf₂ : ∀ a, f a 0 = 0)
@@ -158,6 +250,12 @@ theorem kroneckerMap_one_one [Zero α] [Zero β] [Zero γ] [One α] [One β] [On
   (kroneckerMap_diagonal_diagonal _ hf₁ hf₂ _ _).trans <| by simp only [hf₃, diagonal_one]
 #align matrix.kronecker_map_one_one Matrix.kroneckerMap_one_one
 
+/- warning: matrix.kronecker_map_reindex -> Matrix.kroneckerMap_reindex is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} {l' : Type.{u8}} {m' : Type.{u9}} {n' : Type.{u10}} {p' : Type.{u11}} (f : α -> β -> γ) (el : Equiv.{succ u4, succ u8} l l') (em : Equiv.{succ u5, succ u9} m m') (en : Equiv.{succ u6, succ u10} n n') (ep : Equiv.{succ u7, succ u11} p p') (M : Matrix.{u4, u5, u1} l m α) (N : Matrix.{u6, u7, u2} n p β), Eq.{succ (max (max u8 u10) (max u9 u11) u3)} (Matrix.{max u8 u10, max u9 u11, u3} (Prod.{u8, u10} l' n') (Prod.{u9, u11} m' p') γ) (Matrix.kroneckerMap.{u1, u2, u3, u8, u9, u10, u11} α β γ l' m' n' p' f (coeFn.{max 1 (max (succ (max u4 u5 u1)) (succ (max u8 u9 u1))) (succ (max u8 u9 u1)) (succ (max u4 u5 u1)), max (succ (max u4 u5 u1)) (succ (max u8 u9 u1))} (Equiv.{succ (max u4 u5 u1), succ (max u8 u9 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u8, u9, u1} l' m' α)) (fun (_x : Equiv.{succ (max u4 u5 u1), succ (max u8 u9 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u8, u9, u1} l' m' α)) => (Matrix.{u4, u5, u1} l m α) -> (Matrix.{u8, u9, u1} l' m' α)) (Equiv.hasCoeToFun.{succ (max u4 u5 u1), succ (max u8 u9 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u8, u9, u1} l' m' α)) (Matrix.reindex.{u1, u8, u4, u5, u9} l' l m m' α el em) M) (coeFn.{max 1 (max (succ (max u6 u7 u2)) (succ (max u10 u11 u2))) (succ (max u10 u11 u2)) (succ (max u6 u7 u2)), max (succ (max u6 u7 u2)) (succ (max u10 u11 u2))} (Equiv.{succ (max u6 u7 u2), succ (max u10 u11 u2)} (Matrix.{u6, u7, u2} n p β) (Matrix.{u10, u11, u2} n' p' β)) (fun (_x : Equiv.{succ (max u6 u7 u2), succ (max u10 u11 u2)} (Matrix.{u6, u7, u2} n p β) (Matrix.{u10, u11, u2} n' p' β)) => (Matrix.{u6, u7, u2} n p β) -> (Matrix.{u10, u11, u2} n' p' β)) (Equiv.hasCoeToFun.{succ (max u6 u7 u2), succ (max u10 u11 u2)} (Matrix.{u6, u7, u2} n p β) (Matrix.{u10, u11, u2} n' p' β)) (Matrix.reindex.{u2, u10, u6, u7, u11} n' n p p' β en ep) N)) (coeFn.{max 1 (max (succ (max (max u4 u6) (max u5 u7) u3)) (succ (max (max u8 u10) (max u9 u11) u3))) (succ (max (max u8 u10) (max u9 u11) u3)) (succ (max (max u4 u6) (max u5 u7) u3)), max (succ (max (max u4 u6) (max u5 u7) u3)) (succ (max (max u8 u10) (max u9 u11) u3))} (Equiv.{succ (max (max u4 u6) (max u5 u7) u3), succ (max (max u8 u10) (max u9 u11) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u8 u10, max u9 u11, u3} (Prod.{u8, u10} l' n') (Prod.{u9, u11} m' p') γ)) (fun (_x : Equiv.{succ (max (max u4 u6) (max u5 u7) u3), succ (max (max u8 u10) (max u9 u11) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u8 u10, max u9 u11, u3} (Prod.{u8, u10} l' n') (Prod.{u9, u11} m' p') γ)) => (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) -> (Matrix.{max u8 u10, max u9 u11, u3} (Prod.{u8, u10} l' n') (Prod.{u9, u11} m' p') γ)) (Equiv.hasCoeToFun.{succ (max (max u4 u6) (max u5 u7) u3), succ (max (max u8 u10) (max u9 u11) u3)} (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ) (Matrix.{max u8 u10, max u9 u11, u3} (Prod.{u8, u10} l' n') (Prod.{u9, u11} m' p') γ)) (Matrix.reindex.{u3, max u8 u10, max u4 u6, max u5 u7, max u9 u11} (Prod.{u8, u10} l' n') (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (Prod.{u9, u11} m' p') γ (Equiv.prodCongr.{u4, u6, u8, u10} l n l' n' el en) (Equiv.prodCongr.{u5, u7, u9, u11} m p m' p' em ep)) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f M N))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {l : Type.{u11}} {m : Type.{u9}} {n : Type.{u7}} {p : Type.{u5}} {l' : Type.{u10}} {m' : Type.{u8}} {n' : Type.{u6}} {p' : Type.{u4}} (f : α -> β -> γ) (el : Equiv.{succ u11, succ u10} l l') (em : Equiv.{succ u9, succ u8} m m') (en : Equiv.{succ u7, succ u6} n n') (ep : Equiv.{succ u5, succ u4} p p') (M : Matrix.{u11, u9, u3} l m α) (N : Matrix.{u7, u5, u2} n p β), Eq.{max (max (max (max (succ u1) (succ u10)) (succ u8)) (succ u6)) (succ u4)} (Matrix.{max u6 u10, max u4 u8, u1} (Prod.{u10, u6} l' n') (Prod.{u8, u4} m' p') γ) (Matrix.kroneckerMap.{u3, u2, u1, u10, u8, u6, u4} α β γ l' m' n' p' f (FunLike.coe.{max (max (max (max (succ u11) (succ u9)) (succ u10)) (succ u8)) (succ u3), max (max (succ u11) (succ u9)) (succ u3), max (max (succ u10) (succ u8)) (succ u3)} (Equiv.{max (max (succ u3) (succ u9)) (succ u11), max (max (succ u3) (succ u8)) (succ u10)} (Matrix.{u11, u9, u3} l m α) (Matrix.{u10, u8, u3} l' m' α)) (Matrix.{u11, u9, u3} l m α) (fun (_x : Matrix.{u11, u9, u3} l m α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{u11, u9, u3} l m α) => Matrix.{u10, u8, u3} l' m' α) _x) (Equiv.instFunLikeEquiv.{max (max (succ u11) (succ u9)) (succ u3), max (max (succ u10) (succ u8)) (succ u3)} (Matrix.{u11, u9, u3} l m α) (Matrix.{u10, u8, u3} l' m' α)) (Matrix.reindex.{u3, u10, u11, u9, u8} l' l m m' α el em) M) (FunLike.coe.{max (max (max (max (succ u7) (succ u5)) (succ u6)) (succ u4)) (succ u2), max (max (succ u7) (succ u5)) (succ u2), max (max (succ u6) (succ u4)) (succ u2)} (Equiv.{max (max (succ u2) (succ u5)) (succ u7), max (max (succ u2) (succ u4)) (succ u6)} (Matrix.{u7, u5, u2} n p β) (Matrix.{u6, u4, u2} n' p' β)) (Matrix.{u7, u5, u2} n p β) (fun (_x : Matrix.{u7, u5, u2} n p β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{u7, u5, u2} n p β) => Matrix.{u6, u4, u2} n' p' β) _x) (Equiv.instFunLikeEquiv.{max (max (succ u7) (succ u5)) (succ u2), max (max (succ u6) (succ u4)) (succ u2)} (Matrix.{u7, u5, u2} n p β) (Matrix.{u6, u4, u2} n' p' β)) (Matrix.reindex.{u2, u6, u7, u5, u4} n' n p p' β en ep) N)) (FunLike.coe.{max (max (max (max (max (max (max (max (succ u11) (succ u9)) (succ u7)) (succ u5)) (succ u10)) (succ u8)) (succ u6)) (succ u4)) (succ u1), max (max (max (max (succ u11) (succ u9)) (succ u7)) (succ u5)) (succ u1), max (max (max (max (succ u10) (succ u8)) (succ u6)) (succ u4)) (succ u1)} (Equiv.{max (max (succ u1) (succ (max u9 u5))) (succ (max u11 u7)), max (max (succ u1) (succ (max u8 u4))) (succ (max u10 u6))} (Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) (Matrix.{max u10 u6, max u8 u4, u1} (Prod.{u10, u6} l' n') (Prod.{u8, u4} m' p') γ)) (Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) (fun (_x : Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) => Matrix.{max u10 u6, max u8 u4, u1} (Prod.{u10, u6} l' n') (Prod.{u8, u4} m' p') γ) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u11) (succ u9)) (succ u7)) (succ u5)) (succ u1), max (max (max (max (succ u10) (succ u8)) (succ u6)) (succ u4)) (succ u1)} (Matrix.{max u11 u7, max u9 u5, u1} (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) γ) (Matrix.{max u10 u6, max u8 u4, u1} (Prod.{u10, u6} l' n') (Prod.{u8, u4} m' p') γ)) (Matrix.reindex.{u1, max u10 u6, max u11 u7, max u9 u5, max u8 u4} (Prod.{u10, u6} l' n') (Prod.{u11, u7} l n) (Prod.{u9, u5} m p) (Prod.{u8, u4} m' p') γ (Equiv.prodCongr.{u11, u10, u7, u6} l l' n n' el en) (Equiv.prodCongr.{u9, u8, u5, u4} m m' p p' em ep)) (Matrix.kroneckerMap.{u3, u2, u1, u11, u9, u7, u5} α β γ l m n p f M N))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_reindex Matrix.kroneckerMap_reindexₓ'. -/
 theorem kroneckerMap_reindex (f : α → β → γ) (el : l ≃ l') (em : m ≃ m') (en : n ≃ n') (ep : p ≃ p')
     (M : Matrix l m α) (N : Matrix n p β) :
     kroneckerMap f (reindex el em M) (reindex en ep N) =
@@ -167,6 +265,12 @@ theorem kroneckerMap_reindex (f : α → β → γ) (el : l ≃ l') (em : m ≃
   rfl
 #align matrix.kronecker_map_reindex Matrix.kroneckerMap_reindex
 
+/- warning: matrix.kronecker_map_reindex_left -> Matrix.kroneckerMap_reindex_left is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {l' : Type.{u7}} {m' : Type.{u8}} {n' : Type.{u9}} (f : α -> β -> γ) (el : Equiv.{succ u4, succ u7} l l') (em : Equiv.{succ u5, succ u8} m m') (M : Matrix.{u4, u5, u1} l m α) (N : Matrix.{u6, u9, u2} n n' β), Eq.{succ (max (max u7 u6) (max u8 u9) u3)} (Matrix.{max u7 u6, max u8 u9, u3} (Prod.{u7, u6} l' n) (Prod.{u8, u9} m' n') γ) (Matrix.kroneckerMap.{u1, u2, u3, u7, u8, u6, u9} α β γ l' m' n n' f (coeFn.{max 1 (max (succ (max u4 u5 u1)) (succ (max u7 u8 u1))) (succ (max u7 u8 u1)) (succ (max u4 u5 u1)), max (succ (max u4 u5 u1)) (succ (max u7 u8 u1))} (Equiv.{succ (max u4 u5 u1), succ (max u7 u8 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u7, u8, u1} l' m' α)) (fun (_x : Equiv.{succ (max u4 u5 u1), succ (max u7 u8 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u7, u8, u1} l' m' α)) => (Matrix.{u4, u5, u1} l m α) -> (Matrix.{u7, u8, u1} l' m' α)) (Equiv.hasCoeToFun.{succ (max u4 u5 u1), succ (max u7 u8 u1)} (Matrix.{u4, u5, u1} l m α) (Matrix.{u7, u8, u1} l' m' α)) (Matrix.reindex.{u1, u7, u4, u5, u8} l' l m m' α el em) M) N) (coeFn.{max 1 (max (succ (max (max u4 u6) (max u5 u9) u3)) (succ (max (max u7 u6) (max u8 u9) u3))) (succ (max (max u7 u6) (max u8 u9) u3)) (succ (max (max u4 u6) (max u5 u9) u3)), max (succ (max (max u4 u6) (max u5 u9) u3)) (succ (max (max u7 u6) (max u8 u9) u3))} (Equiv.{succ (max (max u4 u6) (max u5 u9) u3), succ (max (max u7 u6) (max u8 u9) u3)} (Matrix.{max u4 u6, max u5 u9, u3} (Prod.{u4, u6} l n) (Prod.{u5, u9} m n') γ) (Matrix.{max u7 u6, max u8 u9, u3} (Prod.{u7, u6} l' n) (Prod.{u8, u9} m' n') γ)) (fun (_x : Equiv.{succ (max (max u4 u6) (max u5 u9) u3), succ (max (max u7 u6) (max u8 u9) u3)} (Matrix.{max u4 u6, max u5 u9, u3} (Prod.{u4, u6} l n) (Prod.{u5, u9} m n') γ) (Matrix.{max u7 u6, max u8 u9, u3} (Prod.{u7, u6} l' n) (Prod.{u8, u9} m' n') γ)) => (Matrix.{max u4 u6, max u5 u9, u3} (Prod.{u4, u6} l n) (Prod.{u5, u9} m n') γ) -> (Matrix.{max u7 u6, max u8 u9, u3} (Prod.{u7, u6} l' n) (Prod.{u8, u9} m' n') γ)) (Equiv.hasCoeToFun.{succ (max (max u4 u6) (max u5 u9) u3), succ (max (max u7 u6) (max u8 u9) u3)} (Matrix.{max u4 u6, max u5 u9, u3} (Prod.{u4, u6} l n) (Prod.{u5, u9} m n') γ) (Matrix.{max u7 u6, max u8 u9, u3} (Prod.{u7, u6} l' n) (Prod.{u8, u9} m' n') γ)) (Matrix.reindex.{u3, max u7 u6, max u4 u6, max u5 u9, max u8 u9} (Prod.{u7, u6} l' n) (Prod.{u4, u6} l n) (Prod.{u5, u9} m n') (Prod.{u8, u9} m' n') γ (Equiv.prodCongr.{u4, u6, u7, u6} l n l' n el (Equiv.refl.{succ u6} n)) (Equiv.prodCongr.{u5, u9, u8, u9} m n' m' n' em (Equiv.refl.{succ u9} n'))) (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u9} α β γ l m n n' f M N))
+but is expected to have type
+  forall {α : Type.{u5}} {β : Type.{u2}} {γ : Type.{u1}} {l : Type.{u9}} {m : Type.{u7}} {n : Type.{u4}} {l' : Type.{u8}} {m' : Type.{u6}} {n' : Type.{u3}} (f : α -> β -> γ) (el : Equiv.{succ u9, succ u8} l l') (em : Equiv.{succ u7, succ u6} m m') (M : Matrix.{u9, u7, u5} l m α) (N : Matrix.{u4, u3, u2} n n' β), Eq.{max (max (max (max (succ u1) (succ u4)) (succ u8)) (succ u6)) (succ u3)} (Matrix.{max u4 u8, max u3 u6, u1} (Prod.{u8, u4} l' n) (Prod.{u6, u3} m' n') γ) (Matrix.kroneckerMap.{u5, u2, u1, u8, u6, u4, u3} α β γ l' m' n n' f (FunLike.coe.{max (max (max (max (succ u9) (succ u7)) (succ u8)) (succ u6)) (succ u5), max (max (succ u9) (succ u7)) (succ u5), max (max (succ u8) (succ u6)) (succ u5)} (Equiv.{max (max (succ u5) (succ u7)) (succ u9), max (max (succ u5) (succ u6)) (succ u8)} (Matrix.{u9, u7, u5} l m α) (Matrix.{u8, u6, u5} l' m' α)) (Matrix.{u9, u7, u5} l m α) (fun (_x : Matrix.{u9, u7, u5} l m α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{u9, u7, u5} l m α) => Matrix.{u8, u6, u5} l' m' α) _x) (Equiv.instFunLikeEquiv.{max (max (succ u9) (succ u7)) (succ u5), max (max (succ u8) (succ u6)) (succ u5)} (Matrix.{u9, u7, u5} l m α) (Matrix.{u8, u6, u5} l' m' α)) (Matrix.reindex.{u5, u8, u9, u7, u6} l' l m m' α el em) M) N) (FunLike.coe.{max (max (max (max (max (max (succ u9) (succ u7)) (succ u8)) (succ u6)) (succ u1)) (succ u4)) (succ u3), max (max (max (max (succ u9) (succ u7)) (succ u1)) (succ u4)) (succ u3), max (max (max (max (succ u8) (succ u6)) (succ u1)) (succ u4)) (succ u3)} (Equiv.{max (max (succ u1) (succ (max u7 u3))) (succ (max u9 u4)), max (max (succ u1) (succ (max u6 u3))) (succ (max u8 u4))} (Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) (Matrix.{max u8 u4, max u6 u3, u1} (Prod.{u8, u4} l' n) (Prod.{u6, u3} m' n') γ)) (Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) (fun (_x : Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) => Matrix.{max u8 u4, max u6 u3, u1} (Prod.{u8, u4} l' n) (Prod.{u6, u3} m' n') γ) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u9) (succ u7)) (succ u1)) (succ u4)) (succ u3), max (max (max (max (succ u8) (succ u6)) (succ u1)) (succ u4)) (succ u3)} (Matrix.{max u9 u4, max u7 u3, u1} (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') γ) (Matrix.{max u8 u4, max u6 u3, u1} (Prod.{u8, u4} l' n) (Prod.{u6, u3} m' n') γ)) (Matrix.reindex.{u1, max u8 u4, max u9 u4, max u7 u3, max u6 u3} (Prod.{u8, u4} l' n) (Prod.{u9, u4} l n) (Prod.{u7, u3} m n') (Prod.{u6, u3} m' n') γ (Equiv.prodCongr.{u9, u8, u4, u4} l l' n n el (Equiv.refl.{succ u4} n)) (Equiv.prodCongr.{u7, u6, u3, u3} m m' n' n' em (Equiv.refl.{succ u3} n'))) (Matrix.kroneckerMap.{u5, u2, u1, u9, u7, u4, u3} α β γ l m n n' f M N))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_reindex_left Matrix.kroneckerMap_reindex_leftₓ'. -/
 theorem kroneckerMap_reindex_left (f : α → β → γ) (el : l ≃ l') (em : m ≃ m') (M : Matrix l m α)
     (N : Matrix n n' β) :
     kroneckerMap f (Matrix.reindex el em M) N =
@@ -174,6 +278,12 @@ theorem kroneckerMap_reindex_left (f : α → β → γ) (el : l ≃ l') (em : m
   kroneckerMap_reindex _ _ _ (Equiv.refl _) (Equiv.refl _) _ _
 #align matrix.kronecker_map_reindex_left Matrix.kroneckerMap_reindex_left
 
+/- warning: matrix.kronecker_map_reindex_right -> Matrix.kroneckerMap_reindex_right is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {l' : Type.{u7}} {m' : Type.{u8}} {n' : Type.{u9}} (f : α -> β -> γ) (em : Equiv.{succ u5, succ u8} m m') (en : Equiv.{succ u6, succ u9} n n') (M : Matrix.{u4, u7, u1} l l' α) (N : Matrix.{u5, u6, u2} m n β), Eq.{succ (max (max u4 u8) (max u7 u9) u3)} (Matrix.{max u4 u8, max u7 u9, u3} (Prod.{u4, u8} l m') (Prod.{u7, u9} l' n') γ) (Matrix.kroneckerMap.{u1, u2, u3, u4, u7, u8, u9} α β γ l l' m' n' f M (coeFn.{max 1 (max (succ (max u5 u6 u2)) (succ (max u8 u9 u2))) (succ (max u8 u9 u2)) (succ (max u5 u6 u2)), max (succ (max u5 u6 u2)) (succ (max u8 u9 u2))} (Equiv.{succ (max u5 u6 u2), succ (max u8 u9 u2)} (Matrix.{u5, u6, u2} m n β) (Matrix.{u8, u9, u2} m' n' β)) (fun (_x : Equiv.{succ (max u5 u6 u2), succ (max u8 u9 u2)} (Matrix.{u5, u6, u2} m n β) (Matrix.{u8, u9, u2} m' n' β)) => (Matrix.{u5, u6, u2} m n β) -> (Matrix.{u8, u9, u2} m' n' β)) (Equiv.hasCoeToFun.{succ (max u5 u6 u2), succ (max u8 u9 u2)} (Matrix.{u5, u6, u2} m n β) (Matrix.{u8, u9, u2} m' n' β)) (Matrix.reindex.{u2, u8, u5, u6, u9} m' m n n' β em en) N)) (coeFn.{max 1 (max (succ (max (max u4 u5) (max u7 u6) u3)) (succ (max (max u4 u8) (max u7 u9) u3))) (succ (max (max u4 u8) (max u7 u9) u3)) (succ (max (max u4 u5) (max u7 u6) u3)), max (succ (max (max u4 u5) (max u7 u6) u3)) (succ (max (max u4 u8) (max u7 u9) u3))} (Equiv.{succ (max (max u4 u5) (max u7 u6) u3), succ (max (max u4 u8) (max u7 u9) u3)} (Matrix.{max u4 u5, max u7 u6, u3} (Prod.{u4, u5} l m) (Prod.{u7, u6} l' n) γ) (Matrix.{max u4 u8, max u7 u9, u3} (Prod.{u4, u8} l m') (Prod.{u7, u9} l' n') γ)) (fun (_x : Equiv.{succ (max (max u4 u5) (max u7 u6) u3), succ (max (max u4 u8) (max u7 u9) u3)} (Matrix.{max u4 u5, max u7 u6, u3} (Prod.{u4, u5} l m) (Prod.{u7, u6} l' n) γ) (Matrix.{max u4 u8, max u7 u9, u3} (Prod.{u4, u8} l m') (Prod.{u7, u9} l' n') γ)) => (Matrix.{max u4 u5, max u7 u6, u3} (Prod.{u4, u5} l m) (Prod.{u7, u6} l' n) γ) -> (Matrix.{max u4 u8, max u7 u9, u3} (Prod.{u4, u8} l m') (Prod.{u7, u9} l' n') γ)) (Equiv.hasCoeToFun.{succ (max (max u4 u5) (max u7 u6) u3), succ (max (max u4 u8) (max u7 u9) u3)} (Matrix.{max u4 u5, max u7 u6, u3} (Prod.{u4, u5} l m) (Prod.{u7, u6} l' n) γ) (Matrix.{max u4 u8, max u7 u9, u3} (Prod.{u4, u8} l m') (Prod.{u7, u9} l' n') γ)) (Matrix.reindex.{u3, max u4 u8, max u4 u5, max u7 u6, max u7 u9} (Prod.{u4, u8} l m') (Prod.{u4, u5} l m) (Prod.{u7, u6} l' n) (Prod.{u7, u9} l' n') γ (Equiv.prodCongr.{u4, u5, u4, u8} l m l m' (Equiv.refl.{succ u4} l) em) (Equiv.prodCongr.{u7, u6, u7, u9} l' n l' n' (Equiv.refl.{succ u7} l') en)) (Matrix.kroneckerMap.{u1, u2, u3, u4, u7, u5, u6} α β γ l l' m n f M N))
+but is expected to have type
+  forall {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {l : Type.{u5}} {m : Type.{u9}} {n : Type.{u7}} {l' : Type.{u4}} {m' : Type.{u8}} {n' : Type.{u6}} (f : α -> β -> γ) (em : Equiv.{succ u9, succ u8} m m') (en : Equiv.{succ u7, succ u6} n n') (M : Matrix.{u5, u4, u3} l l' α) (N : Matrix.{u9, u7, u2} m n β), Eq.{max (max (max (max (succ u1) (succ u5)) (succ u4)) (succ u8)) (succ u6)} (Matrix.{max u8 u5, max u6 u4, u1} (Prod.{u5, u8} l m') (Prod.{u4, u6} l' n') γ) (Matrix.kroneckerMap.{u3, u2, u1, u5, u4, u8, u6} α β γ l l' m' n' f M (FunLike.coe.{max (max (max (max (succ u9) (succ u7)) (succ u8)) (succ u6)) (succ u2), max (max (succ u9) (succ u7)) (succ u2), max (max (succ u8) (succ u6)) (succ u2)} (Equiv.{max (max (succ u2) (succ u7)) (succ u9), max (max (succ u2) (succ u6)) (succ u8)} (Matrix.{u9, u7, u2} m n β) (Matrix.{u8, u6, u2} m' n' β)) (Matrix.{u9, u7, u2} m n β) (fun (_x : Matrix.{u9, u7, u2} m n β) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{u9, u7, u2} m n β) => Matrix.{u8, u6, u2} m' n' β) _x) (Equiv.instFunLikeEquiv.{max (max (succ u9) (succ u7)) (succ u2), max (max (succ u8) (succ u6)) (succ u2)} (Matrix.{u9, u7, u2} m n β) (Matrix.{u8, u6, u2} m' n' β)) (Matrix.reindex.{u2, u8, u9, u7, u6} m' m n n' β em en) N)) (FunLike.coe.{max (max (max (max (max (max (succ u9) (succ u7)) (succ u8)) (succ u6)) (succ u1)) (succ u5)) (succ u4), max (max (max (max (succ u9) (succ u7)) (succ u1)) (succ u5)) (succ u4), max (max (max (max (succ u8) (succ u6)) (succ u1)) (succ u5)) (succ u4)} (Equiv.{max (max (succ u1) (succ (max u7 u4))) (succ (max u9 u5)), max (max (succ u1) (succ (max u6 u4))) (succ (max u8 u5))} (Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) (Matrix.{max u8 u5, max u6 u4, u1} (Prod.{u5, u8} l m') (Prod.{u4, u6} l' n') γ)) (Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) (fun (_x : Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) => Matrix.{max u8 u5, max u6 u4, u1} (Prod.{u5, u8} l m') (Prod.{u4, u6} l' n') γ) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u9) (succ u7)) (succ u1)) (succ u5)) (succ u4), max (max (max (max (succ u8) (succ u6)) (succ u1)) (succ u5)) (succ u4)} (Matrix.{max u9 u5, max u7 u4, u1} (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) γ) (Matrix.{max u8 u5, max u6 u4, u1} (Prod.{u5, u8} l m') (Prod.{u4, u6} l' n') γ)) (Matrix.reindex.{u1, max u8 u5, max u9 u5, max u7 u4, max u6 u4} (Prod.{u5, u8} l m') (Prod.{u5, u9} l m) (Prod.{u4, u7} l' n) (Prod.{u4, u6} l' n') γ (Equiv.prodCongr.{u5, u5, u9, u8} l l m m' (Equiv.refl.{succ u5} l) em) (Equiv.prodCongr.{u4, u4, u7, u6} l' l' n n' (Equiv.refl.{succ u4} l') en)) (Matrix.kroneckerMap.{u3, u2, u1, u5, u4, u9, u7} α β γ l l' m n f M N))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_reindex_right Matrix.kroneckerMap_reindex_rightₓ'. -/
 theorem kroneckerMap_reindex_right (f : α → β → γ) (em : m ≃ m') (en : n ≃ n') (M : Matrix l l' α)
     (N : Matrix m n β) :
     kroneckerMap f M (reindex em en N) =
@@ -181,6 +291,12 @@ theorem kroneckerMap_reindex_right (f : α → β → γ) (em : m ≃ m') (en :
   kroneckerMap_reindex _ (Equiv.refl _) (Equiv.refl _) _ _ _ _
 #align matrix.kronecker_map_reindex_right Matrix.kroneckerMap_reindex_right
 
+/- warning: matrix.kronecker_map_assoc -> Matrix.kroneckerMap_assoc is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} {q : Type.{u8}} {r : Type.{u9}} {δ : Type.{u10}} {ξ : Type.{u11}} {ω : Type.{u12}} {ω' : Type.{u13}} (f : α -> β -> γ) (g : γ -> δ -> ω) (f' : α -> ξ -> ω') (g' : β -> δ -> ξ) (A : Matrix.{u4, u5, u1} l m α) (B : Matrix.{u6, u7, u2} n p β) (D : Matrix.{u8, u9, u10} q r δ) (φ : Equiv.{succ u12, succ u13} ω ω'), (forall (a : α) (b : β) (d : δ), Eq.{succ u13} ω' (coeFn.{max 1 (max (succ u12) (succ u13)) (succ u13) (succ u12), max (succ u12) (succ u13)} (Equiv.{succ u12, succ u13} ω ω') (fun (_x : Equiv.{succ u12, succ u13} ω ω') => ω -> ω') (Equiv.hasCoeToFun.{succ u12, succ u13} ω ω') φ (g (f a b) d)) (f' a (g' b d))) -> (Eq.{succ (max (max u4 u6 u8) (max u5 u7 u9) u13)} (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω') (coeFn.{max 1 (max (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)) (succ (max (max u4 u6 u8) (max u5 u7 u9) u13))) (succ (max (max u4 u6 u8) (max u5 u7 u9) u13)) (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)), max (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)) (succ (max (max u4 u6 u8) (max u5 u7 u9) u13))} (Equiv.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u13)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω')) (fun (_x : Equiv.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u13)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω')) => (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) -> (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω')) (Equiv.hasCoeToFun.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u13)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω')) (Equiv.trans.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u13)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u13} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω') (Matrix.reindex.{u12, max u4 u6 u8, max (max u4 u6) u8, max (max u5 u7) u9, max u5 u7 u9} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω (Equiv.prodAssoc.{u4, u6, u8} l n q) (Equiv.prodAssoc.{u5, u7, u9} m p r)) (Equiv.mapMatrix.{u12, u13, max u4 u6 u8, max u5 u7 u9} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω ω' φ)) (Matrix.kroneckerMap.{u3, u10, u12, max u4 u6, max u5 u7, u8, u9} γ δ ω (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) q r g (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A B) D)) (Matrix.kroneckerMap.{u1, u11, u13, u4, u5, max u6 u8, max u7 u9} α ξ ω' l m (Prod.{u6, u8} n q) (Prod.{u7, u9} p r) f' A (Matrix.kroneckerMap.{u2, u10, u11, u6, u7, u8, u9} β δ ξ n p q r g' B D)))
+but is expected to have type
+  forall {α : Type.{u7}} {β : Type.{u4}} {γ : Type.{u1}} {l : Type.{u9}} {m : Type.{u8}} {n : Type.{u6}} {p : Type.{u5}} {q : Type.{u3}} {r : Type.{u2}} {δ : Type.{u13}} {ξ : Type.{u12}} {ω : Type.{u11}} {ω' : Type.{u10}} (f : α -> β -> γ) (g : γ -> δ -> ω) (f' : α -> ξ -> ω') (g' : β -> δ -> ξ) (A : Matrix.{u9, u8, u7} l m α) (B : Matrix.{u6, u5, u4} n p β) (D : Matrix.{u3, u2, u13} q r δ) (φ : Equiv.{succ u11, succ u10} ω ω'), (forall (a : α) (b : β) (d : δ), Eq.{succ u10} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : ω) => ω') (g (f a b) d)) (FunLike.coe.{max (succ u11) (succ u10), succ u11, succ u10} (Equiv.{succ u11, succ u10} ω ω') ω (fun (_x : ω) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : ω) => ω') _x) (Equiv.instFunLikeEquiv.{succ u11, succ u10} ω ω') φ (g (f a b) d)) (f' a (g' b d))) -> (Eq.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω') (Matrix.kroneckerMap.{u1, u13, u11, max u9 u6, max u8 u5, u3, u2} γ δ ω (Prod.{u9, u6} l n) (Prod.{u8, u5} m p) q r g (Matrix.kroneckerMap.{u7, u4, u1, u9, u8, u6, u5} α β γ l m n p f A B) D)) (FunLike.coe.{max (max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11)) (succ u10), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Equiv.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω')) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (fun (_x : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω') _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω')) (Equiv.trans.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u11), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u11} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω') (Matrix.reindex.{u11, max (max u9 u6) u3, max (max u9 u6) u3, max (max u8 u5) u2, max (max u8 u5) u2} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω (Equiv.prodAssoc.{u9, u6, u3} l n q) (Equiv.prodAssoc.{u8, u5, u2} m p r)) (Equiv.mapMatrix.{u11, u10, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω ω' φ)) (Matrix.kroneckerMap.{u1, u13, u11, max u9 u6, max u8 u5, u3, u2} γ δ ω (Prod.{u9, u6} l n) (Prod.{u8, u5} m p) q r g (Matrix.kroneckerMap.{u7, u4, u1, u9, u8, u6, u5} α β γ l m n p f A B) D)) (Matrix.kroneckerMap.{u7, u12, u10, u9, u8, max u3 u6, max u2 u5} α ξ ω' l m (Prod.{u6, u3} n q) (Prod.{u5, u2} p r) f' A (Matrix.kroneckerMap.{u4, u13, u12, u6, u5, u3, u2} β δ ξ n p q r g' B D)))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_assoc Matrix.kroneckerMap_assocₓ'. -/
 theorem kroneckerMap_assoc {δ ξ ω ω' : Type _} (f : α → β → γ) (g : γ → δ → ω) (f' : α → ξ → ω')
     (g' : β → δ → ξ) (A : Matrix l m α) (B : Matrix n p β) (D : Matrix q r δ) (φ : ω ≃ ω')
     (hφ : ∀ a b d, φ (g (f a b) d) = f' a (g' b d)) :
@@ -190,6 +306,12 @@ theorem kroneckerMap_assoc {δ ξ ω ω' : Type _} (f : α → β → γ) (g : 
   ext fun i j => hφ _ _ _
 #align matrix.kronecker_map_assoc Matrix.kroneckerMap_assoc
 
+/- warning: matrix.kronecker_map_assoc₁ -> Matrix.kroneckerMap_assoc₁ is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} {q : Type.{u8}} {r : Type.{u9}} {δ : Type.{u10}} {ξ : Type.{u11}} {ω : Type.{u12}} (f : α -> β -> γ) (g : γ -> δ -> ω) (f' : α -> ξ -> ω) (g' : β -> δ -> ξ) (A : Matrix.{u4, u5, u1} l m α) (B : Matrix.{u6, u7, u2} n p β) (D : Matrix.{u8, u9, u10} q r δ), (forall (a : α) (b : β) (d : δ), Eq.{succ u12} ω (g (f a b) d) (f' a (g' b d))) -> (Eq.{succ (max (max u4 u6 u8) (max u5 u7 u9) u12)} (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω) (coeFn.{max 1 (max (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)) (succ (max (max u4 u6 u8) (max u5 u7 u9) u12))) (succ (max (max u4 u6 u8) (max u5 u7 u9) u12)) (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)), max (succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12)) (succ (max (max u4 u6 u8) (max u5 u7 u9) u12))} (Equiv.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u12)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω)) (fun (_x : Equiv.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u12)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω)) => (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) -> (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω)) (Equiv.hasCoeToFun.{succ (max (max (max u4 u6) u8) (max (max u5 u7) u9) u12), succ (max (max u4 u6 u8) (max u5 u7 u9) u12)} (Matrix.{max (max u4 u6) u8, max (max u5 u7) u9, u12} (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) ω) (Matrix.{max u4 u6 u8, max u5 u7 u9, u12} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω)) (Matrix.reindex.{u12, max u4 u6 u8, max (max u4 u6) u8, max (max u5 u7) u9, max u5 u7 u9} (Prod.{u4, max u6 u8} l (Prod.{u6, u8} n q)) (Prod.{max u4 u6, u8} (Prod.{u4, u6} l n) q) (Prod.{max u5 u7, u9} (Prod.{u5, u7} m p) r) (Prod.{u5, max u7 u9} m (Prod.{u7, u9} p r)) ω (Equiv.prodAssoc.{u4, u6, u8} l n q) (Equiv.prodAssoc.{u5, u7, u9} m p r)) (Matrix.kroneckerMap.{u3, u10, u12, max u4 u6, max u5 u7, u8, u9} γ δ ω (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) q r g (Matrix.kroneckerMap.{u1, u2, u3, u4, u5, u6, u7} α β γ l m n p f A B) D)) (Matrix.kroneckerMap.{u1, u11, u12, u4, u5, max u6 u8, max u7 u9} α ξ ω l m (Prod.{u6, u8} n q) (Prod.{u7, u9} p r) f' A (Matrix.kroneckerMap.{u2, u10, u11, u6, u7, u8, u9} β δ ξ n p q r g' B D)))
+but is expected to have type
+  forall {α : Type.{u7}} {β : Type.{u4}} {γ : Type.{u1}} {l : Type.{u9}} {m : Type.{u8}} {n : Type.{u6}} {p : Type.{u5}} {q : Type.{u3}} {r : Type.{u2}} {δ : Type.{u12}} {ξ : Type.{u11}} {ω : Type.{u10}} (f : α -> β -> γ) (g : γ -> δ -> ω) (f' : α -> ξ -> ω) (g' : β -> δ -> ξ) (A : Matrix.{u9, u8, u7} l m α) (B : Matrix.{u6, u5, u4} n p β) (D : Matrix.{u3, u2, u12} q r δ), (forall (a : α) (b : β) (d : δ), Eq.{succ u10} ω (g (f a b) d) (f' a (g' b d))) -> (Eq.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω) (Matrix.kroneckerMap.{u1, u12, u10, max u9 u6, max u8 u5, u3, u2} γ δ ω (Prod.{u9, u6} l n) (Prod.{u8, u5} m p) q r g (Matrix.kroneckerMap.{u7, u4, u1, u9, u8, u6, u5} α β γ l m n p f A B) D)) (FunLike.coe.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Equiv.{max (max (succ u10) (succ (max (max u8 u5) u2))) (succ (max (max u9 u6) u3)), max (max (succ u10) (succ (max (max u8 u5) u2))) (succ (max (max u9 u6) u3))} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω)) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (fun (_x : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) => Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10), max (max (max (max (max (max (succ u9) (succ u8)) (succ u6)) (succ u5)) (succ u3)) (succ u2)) (succ u10)} (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) ω) (Matrix.{max (max u9 u6) u3, max (max u8 u5) u2, u10} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω)) (Matrix.reindex.{u10, max (max u9 u6) u3, max (max u9 u6) u3, max (max u8 u5) u2, max (max u8 u5) u2} (Prod.{u9, max u3 u6} l (Prod.{u6, u3} n q)) (Prod.{max u6 u9, u3} (Prod.{u9, u6} l n) q) (Prod.{max u5 u8, u2} (Prod.{u8, u5} m p) r) (Prod.{u8, max u2 u5} m (Prod.{u5, u2} p r)) ω (Equiv.prodAssoc.{u9, u6, u3} l n q) (Equiv.prodAssoc.{u8, u5, u2} m p r)) (Matrix.kroneckerMap.{u1, u12, u10, max u9 u6, max u8 u5, u3, u2} γ δ ω (Prod.{u9, u6} l n) (Prod.{u8, u5} m p) q r g (Matrix.kroneckerMap.{u7, u4, u1, u9, u8, u6, u5} α β γ l m n p f A B) D)) (Matrix.kroneckerMap.{u7, u11, u10, u9, u8, max u3 u6, max u2 u5} α ξ ω l m (Prod.{u6, u3} n q) (Prod.{u5, u2} p r) f' A (Matrix.kroneckerMap.{u4, u12, u11, u6, u5, u3, u2} β δ ξ n p q r g' B D)))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_assoc₁ Matrix.kroneckerMap_assoc₁ₓ'. -/
 theorem kroneckerMap_assoc₁ {δ ξ ω : Type _} (f : α → β → γ) (g : γ → δ → ω) (f' : α → ξ → ω)
     (g' : β → δ → ξ) (A : Matrix l m α) (B : Matrix n p β) (D : Matrix q r δ)
     (h : ∀ a b d, g (f a b) d = f' a (g' b d)) :
@@ -199,6 +321,7 @@ theorem kroneckerMap_assoc₁ {δ ξ ω : Type _} (f : α → β → γ) (g : γ
   ext fun i j => h _ _ _
 #align matrix.kronecker_map_assoc₁ Matrix.kroneckerMap_assoc₁
 
+#print Matrix.kroneckerMapBilinear /-
 /-- When `f` is bilinear then `matrix.kronecker_map f` is also bilinear. -/
 @[simps]
 def kroneckerMapBilinear [CommSemiring R] [AddCommMonoid α] [AddCommMonoid β] [AddCommMonoid γ]
@@ -209,7 +332,14 @@ def kroneckerMapBilinear [CommSemiring R] [AddCommMonoid α] [AddCommMonoid β]
     (kroneckerMap_add_right _ fun a => (f a).map_add) fun r =>
     kroneckerMap_smul_right _ _ fun a => (f a).map_smul r
 #align matrix.kronecker_map_bilinear Matrix.kroneckerMapBilinear
+-/
 
+/- warning: matrix.kronecker_map_bilinear_mul_mul -> Matrix.kroneckerMapBilinear_mul_mul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {l' : Type.{u8}} {m' : Type.{u9}} {n' : Type.{u10}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u6} m] [_inst_3 : Fintype.{u9} m'] [_inst_4 : NonUnitalNonAssocSemiring.{u2} α] [_inst_5 : NonUnitalNonAssocSemiring.{u3} β] [_inst_6 : NonUnitalNonAssocSemiring.{u4} γ] [_inst_7 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)] [_inst_8 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)] [_inst_9 : Module.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)] (f : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))), (forall (a : α) (b : α) (a' : β) (b' : β), Eq.{succ u4} γ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (HMul.hMul.{u2, u2, u2} α α α (instHMul.{u2} α (Distrib.toHasMul.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α _inst_4))) a b)) (HMul.hMul.{u3, u3, u3} β β β (instHMul.{u3} β (Distrib.toHasMul.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β _inst_5))) a' b')) (HMul.hMul.{u4, u4, u4} γ γ γ (instHMul.{u4} γ (Distrib.toHasMul.{u4} γ (NonUnitalNonAssocSemiring.toDistrib.{u4} γ _inst_6))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f a) a') (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f b) b'))) -> (forall (A : Matrix.{u5, u6, u2} l m α) (B : Matrix.{u6, u7, u2} m n α) (A' : Matrix.{u8, u9, u3} l' m' β) (B' : Matrix.{u9, u10, u3} m' n' β), Eq.{succ (max (max u5 u8) (max u7 u10) u4)} (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (coeFn.{max (succ (max u8 u10 u3)) (succ (max (max u5 u8) (max u7 u10) u4)), max (succ (max u8 u10 u3)) (succ (max (max u5 u8) (max u7 u10) u4))} (LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (fun (_x : LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) => (Matrix.{u8, u10, u3} l' n' β) -> (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ)) (LinearMap.hasCoeToFun.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u5 u7 u2)) (succ (max (max u8 u10 u3) (max u5 u8) (max u7 u10) u4)), max (succ (max u5 u7 u2)) (succ (max (max u8 u10 u3) (max u5 u8) (max u7 u10) u4))} (LinearMap.{u1, u1, max u5 u7 u2, max (max u8 u10 u3) (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u7, u2} l n α) (LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u5, u7} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u7, u1} l n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u10, u4, u5, u7} R γ l n l' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (fun (_x : LinearMap.{u1, u1, max u5 u7 u2, max (max u8 u10 u3) (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u7, u2} l n α) (LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u5, u7} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u7, u1} l n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u10, u4, u5, u7} R γ l n l' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) => (Matrix.{u5, u7, u2} l n α) -> (LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (LinearMap.hasCoeToFun.{u1, u1, max u5 u7 u2, max (max u8 u10 u3) (max u5 u8) (max u7 u10) u4} R R (Matrix.{u5, u7, u2} l n α) (LinearMap.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u2, u5, u7} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u7, u1} l n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u10 u3, max (max u5 u8) (max u7 u10) u4} R R R (Matrix.{u8, u10, u3} l' n' β) (Matrix.{max u5 u8, max u7 u10, u4} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u10} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u10, u1} l' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u7 u10, u1} (Prod.{u5, u8} l l') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u10, u4, u5, u7} R γ l n l' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u1, u2, u3, u4, u5, u7, u8, u10} R α β γ l n l' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_7 _inst_8 _inst_9 f) (Matrix.mul.{u2, u5, u6, u7} l m n α _inst_2 (Distrib.toHasMul.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α _inst_4)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) A B)) (Matrix.mul.{u3, u8, u9, u10} l' m' n' β _inst_3 (Distrib.toHasMul.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β _inst_5)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) A' B')) (Matrix.mul.{u4, max u5 u8, max u6 u9, max u7 u10} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (Prod.fintype.{u6, u9} m m' _inst_2 _inst_3) (Distrib.toHasMul.{u4} γ (NonUnitalNonAssocSemiring.toDistrib.{u4} γ _inst_6)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) (coeFn.{max (succ (max u8 u9 u3)) (succ (max (max u5 u8) (max u6 u9) u4)), max (succ (max u8 u9 u3)) (succ (max (max u5 u8) (max u6 u9) u4))} (LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (fun (_x : LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) => (Matrix.{u8, u9, u3} l' m' β) -> (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ)) (LinearMap.hasCoeToFun.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u5 u6 u2)) (succ (max (max u8 u9 u3) (max u5 u8) (max u6 u9) u4)), max (succ (max u5 u6 u2)) (succ (max (max u8 u9 u3) (max u5 u8) (max u6 u9) u4))} (LinearMap.{u1, u1, max u5 u6 u2, max (max u8 u9 u3) (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u6, u2} l m α) (LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u5, u6} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u6, u1} l m R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u9, u4, u5, u6} R γ l m l' m' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (fun (_x : LinearMap.{u1, u1, max u5 u6 u2, max (max u8 u9 u3) (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u6, u2} l m α) (LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u5, u6} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u6, u1} l m R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u9, u4, u5, u6} R γ l m l' m' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) => (Matrix.{u5, u6, u2} l m α) -> (LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (LinearMap.hasCoeToFun.{u1, u1, max u5 u6 u2, max (max u8 u9 u3) (max u5 u8) (max u6 u9) u4} R R (Matrix.{u5, u6, u2} l m α) (LinearMap.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u2, u5, u6} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u6, u1} l m R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u8 u9 u3, max (max u5 u8) (max u6 u9) u4} R R R (Matrix.{u8, u9, u3} l' m' β) (Matrix.{max u5 u8, max u6 u9, u4} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u8, u9} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u5 u8, max u6 u9} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u8, u9, u1} l' m' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u8, max u6 u9, u1} (Prod.{u5, u8} l l') (Prod.{u6, u9} m m') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u8, u9, u4, u5, u6} R γ l m l' m' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u1, u2, u3, u4, u5, u6, u8, u9} R α β γ l m l' m' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_7 _inst_8 _inst_9 f) A) A') (coeFn.{max (succ (max u9 u10 u3)) (succ (max (max u6 u9) (max u7 u10) u4)), max (succ (max u9 u10 u3)) (succ (max (max u6 u9) (max u7 u10) u4))} (LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (fun (_x : LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) => (Matrix.{u9, u10, u3} m' n' β) -> (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ)) (LinearMap.hasCoeToFun.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u6 u7 u2)) (succ (max (max u9 u10 u3) (max u6 u9) (max u7 u10) u4)), max (succ (max u6 u7 u2)) (succ (max (max u9 u10 u3) (max u6 u9) (max u7 u10) u4))} (LinearMap.{u1, u1, max u6 u7 u2, max (max u9 u10 u3) (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u7, u2} m n α) (LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u6, u7} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u6, u7, u1} m n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u9, u10, u4, u6, u7} R γ m n m' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (fun (_x : LinearMap.{u1, u1, max u6 u7 u2, max (max u9 u10 u3) (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u7, u2} m n α) (LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u2, u6, u7} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u6, u7, u1} m n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u9, u10, u4, u6, u7} R γ m n m' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) => (Matrix.{u6, u7, u2} m n α) -> (LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9))) (LinearMap.hasCoeToFun.{u1, u1, max u6 u7 u2, max (max u9 u10 u3) (max u6 u9) (max u7 u10) u4} R R (Matrix.{u6, u7, u2} m n α) (LinearMap.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u2, u6, u7} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4)) (LinearMap.addCommMonoid.{u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u6, u7, u1} m n R α (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) _inst_7) (LinearMap.module.{u1, u1, u1, max u9 u10 u3, max (max u6 u9) (max u7 u10) u4} R R R (Matrix.{u9, u10, u3} m' n' β) (Matrix.{max u6 u9, max u7 u10, u4} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u9, u10} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5)) (Matrix.addCommMonoid.{u4, max u6 u9, max u7 u10} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6)) (Matrix.module.{u3, u9, u10, u1} m' n' R β (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) _inst_8) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u6 u9, max u7 u10, u1} (Prod.{u6, u9} m m') (Prod.{u7, u10} n n') R γ (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u9, u10, u4, u6, u7} R γ m n m' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_9)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u1, u2, u3, u4, u6, u7, u9, u10} R α β γ m n m' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u4} γ _inst_6) _inst_7 _inst_8 _inst_9 f) B) B')))
+but is expected to have type
+  forall {R : Type.{u10}} {α : Type.{u7}} {β : Type.{u6}} {γ : Type.{u5}} {l : Type.{u4}} {m : Type.{u9}} {n : Type.{u3}} {l' : Type.{u2}} {m' : Type.{u8}} {n' : Type.{u1}} [_inst_1 : CommSemiring.{u10} R] [_inst_2 : Fintype.{u9} m] [_inst_3 : Fintype.{u8} m'] [_inst_4 : NonUnitalNonAssocSemiring.{u7} α] [_inst_5 : NonUnitalNonAssocSemiring.{u6} β] [_inst_6 : NonUnitalNonAssocSemiring.{u5} γ] [_inst_7 : Module.{u10, u7} R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)] [_inst_8 : Module.{u10, u6} R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)] [_inst_9 : Module.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)] (f : LinearMap.{u10, u10, u7, max u5 u6} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))), (forall (a : α) (b : α) (a' : β) (b' : β), Eq.{succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (HMul.hMul.{u6, u6, u6} β β β (instHMul.{u6} β (NonUnitalNonAssocSemiring.toMul.{u6} β _inst_5)) a' b')) (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (NonUnitalNonAssocSemiring.toMul.{u7} α _inst_4)) a b)) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (succ u7) (succ u6)) (succ u5), succ u7, max (succ u6) (succ u5)} (LinearMap.{u10, u10, u7, max u5 u6} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u7, max u6 u5} R R α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) f (HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (NonUnitalNonAssocSemiring.toMul.{u7} α _inst_4)) a b)) (HMul.hMul.{u6, u6, u6} β β β (instHMul.{u6} β (NonUnitalNonAssocSemiring.toMul.{u6} β _inst_5)) a' b')) (HMul.hMul.{u5, u5, u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) b') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') (instHMul.{u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') (NonUnitalNonAssocSemiring.toMul.{u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') _inst_6)) (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) a) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (succ u7) (succ u6)) (succ u5), succ u7, max (succ u6) (succ u5)} (LinearMap.{u10, u10, u7, max u5 u6} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u7, max u6 u5} R R α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) f a) a') (FunLike.coe.{max (succ u6) (succ u5), succ u6, succ u5} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) b) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (succ u7) (succ u6)) (succ u5), succ u7, max (succ u6) (succ u5)} (LinearMap.{u10, u10, u7, max u5 u6} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, u7, max u6 u5} R R α (LinearMap.{u10, u10, u6, u5} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (LinearMap.addCommMonoid.{u10, u10, u6, u5} R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, u6, u5} R R R β γ (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_8 _inst_9 (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) _inst_9 (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (MulZeroClass.toZero.{u5} γ (NonUnitalNonAssocSemiring.toMulZeroClass.{u5} γ _inst_6)) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) f b) b'))) -> (forall (A : Matrix.{u4, u9, u7} l m α) (B : Matrix.{u9, u3, u7} m n α) (A' : Matrix.{u2, u8, u6} l' m' β) (B' : Matrix.{u8, u1, u6} m' n' β), Eq.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)) (succ u1)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u2, u1, u6} l' n' β) => Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.mul.{u6, u2, u8, u1} l' m' n' β _inst_3 (NonUnitalNonAssocSemiring.toMul.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) A' B')) (FunLike.coe.{max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u1)) (succ u2), max (max (succ u6) (succ u1)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u1)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u4, u3, u7} l n α) => LinearMap.{u10, u10, max (max u6 u1) u2, max (max u5 u1 u3) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (Matrix.mul.{u7, u4, u9, u3} l m n α _inst_2 (NonUnitalNonAssocSemiring.toMul.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) A B)) (Matrix.{u2, u1, u6} l' n' β) (fun (_x : Matrix.{u2, u1, u6} l' n' β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u2, u1, u6} l' n' β) => Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u6 u1) u2, max (max (max (max u5 u4) u3) u1) u2} R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (max (max (max (max (succ u7) (succ u6)) (succ u5)) (succ u1)) (succ u2)) (succ u3)) (succ u4), max (max (succ u7) (succ u3)) (succ u4), max (max (max (max (max (succ u6) (succ u5)) (succ u1)) (succ u2)) (succ u3)) (succ u4)} (LinearMap.{u10, u10, max (max u7 u3) u4, max (max (max u5 u1 u3) u2 u4) (max u6 u1) u2} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u4, u3, u7} l n α) (LinearMap.{u10, u10, max (max u6 u1) u2, max (max u5 u1 u3) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u7, u4, u3} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u2) u1, max (max (max (max u5 u4) u3) u2) u1} R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u4, u3, u10} l n R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u2) u1, max (max (max (max u5 u4) u3) u2) u1} R R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u4 u2, max u3 u1, u10, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))))) (Matrix.{u4, u3, u7} l n α) (fun (_x : Matrix.{u4, u3, u7} l n α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u4, u3, u7} l n α) => LinearMap.{u10, u10, max (max u6 u1) u2, max (max u5 u1 u3) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u7 u3) u4, max (max (max (max (max u6 u5) u1) u2) u3) u4} R R (Matrix.{u4, u3, u7} l n α) (LinearMap.{u10, u10, max (max u6 u1) u2, max (max u5 u1 u3) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u7, u4, u3} l n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u2) u1, max (max (max (max u5 u4) u3) u2) u1} R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u4, u3, u10} l n R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u2) u1, max (max (max (max u5 u4) u3) u2) u1} R R R (Matrix.{u2, u1, u6} l' n' β) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u1} l' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u1, u10} l' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u4 u2, max u3 u1, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u4 u2, max u3 u1, u10, u10} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u10, u7, u6, u5, u4, u3, u2, u1} R α β γ l n l' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_7 _inst_8 _inst_9 f) (Matrix.mul.{u7, u4, u9, u3} l m n α _inst_2 (NonUnitalNonAssocSemiring.toMul.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) A B)) (Matrix.mul.{u6, u2, u8, u1} l' m' n' β _inst_3 (NonUnitalNonAssocSemiring.toMul.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) A' B')) (Matrix.mul.{u5, max u4 u2, max u9 u8, max u3 u1} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (instFintypeProd.{u9, u8} m m' _inst_2 _inst_3) (NonUnitalNonAssocSemiring.toMul.{u5} γ _inst_6) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) (FunLike.coe.{max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u9)) (succ u8)) (succ u2), max (max (succ u6) (succ u8)) (succ u2), max (max (max (max (succ u5) (succ u4)) (succ u9)) (succ u8)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u4, u9, u7} l m α) => LinearMap.{u10, u10, max (max u6 u8) u2, max (max u5 u8 u9) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) A) (Matrix.{u2, u8, u6} l' m' β) (fun (_x : Matrix.{u2, u8, u6} l' m' β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u2, u8, u6} l' m' β) => Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u6 u8) u2, max (max (max (max u5 u4) u9) u8) u2} R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (max (max (max (max (succ u7) (succ u6)) (succ u5)) (succ u8)) (succ u2)) (succ u9)) (succ u4), max (max (succ u7) (succ u9)) (succ u4), max (max (max (max (max (succ u6) (succ u5)) (succ u8)) (succ u2)) (succ u9)) (succ u4)} (LinearMap.{u10, u10, max (max u7 u9) u4, max (max (max u5 u8 u9) u2 u4) (max u6 u8) u2} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u4, u9, u7} l m α) (LinearMap.{u10, u10, max (max u6 u8) u2, max (max u5 u8 u9) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u7, u4, u9} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u2) u8, max (max (max (max u5 u4) u9) u2) u8} R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u4, u9, u10} l m R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u2) u8, max (max (max (max u5 u4) u9) u2) u8} R R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u4 u2, max u9 u8, u10, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))))) (Matrix.{u4, u9, u7} l m α) (fun (_x : Matrix.{u4, u9, u7} l m α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u4, u9, u7} l m α) => LinearMap.{u10, u10, max (max u6 u8) u2, max (max u5 u8 u9) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u7 u9) u4, max (max (max (max (max u6 u5) u8) u2) u9) u4} R R (Matrix.{u4, u9, u7} l m α) (LinearMap.{u10, u10, max (max u6 u8) u2, max (max u5 u8 u9) u2 u4} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u7, u4, u9} l m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u2) u8, max (max (max (max u5 u4) u9) u2) u8} R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u4, u9, u10} l m R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u2) u8, max (max (max (max u5 u4) u9) u2) u8} R R R (Matrix.{u2, u8, u6} l' m' β) (Matrix.{max u2 u4, max u8 u9, u5} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u2, u8} l' m' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u4 u2, max u9 u8} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u2, u8, u10} l' m' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u4 u2, max u9 u8, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u4 u2, max u9 u8, u10, u10} (Prod.{u4, u2} l l') (Prod.{u9, u8} m m') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u10, u7, u6, u5, u4, u9, u2, u8} R α β γ l m l' m' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_7 _inst_8 _inst_9 f) A) A') (FunLike.coe.{max (max (max (max (max (succ u6) (succ u5)) (succ u9)) (succ u3)) (succ u1)) (succ u8), max (max (succ u6) (succ u1)) (succ u8), max (max (max (max (succ u5) (succ u9)) (succ u3)) (succ u1)) (succ u8)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u9, u3, u7} m n α) => LinearMap.{u10, u10, max (max u6 u1) u8, max (max u5 u1 u3) u8 u9} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) B) (Matrix.{u8, u1, u6} m' n' β) (fun (_x : Matrix.{u8, u1, u6} m' n' β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u8, u1, u6} m' n' β) => Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u6 u1) u8, max (max (max (max u5 u9) u3) u1) u8} R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (FunLike.coe.{max (max (max (max (max (max (succ u7) (succ u6)) (succ u5)) (succ u1)) (succ u8)) (succ u3)) (succ u9), max (max (succ u7) (succ u3)) (succ u9), max (max (max (max (max (succ u6) (succ u5)) (succ u1)) (succ u8)) (succ u3)) (succ u9)} (LinearMap.{u10, u10, max (max u7 u3) u9, max (max (max u5 u1 u3) u8 u9) (max u6 u1) u8} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u9, u3, u7} m n α) (LinearMap.{u10, u10, max (max u6 u1) u8, max (max u5 u1 u3) u8 u9} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (Matrix.addCommMonoid.{u7, u9, u3} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u8) u1, max (max (max (max u5 u9) u3) u8) u1} R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u9, u3, u10} m n R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u8) u1, max (max (max (max u5 u9) u3) u8) u1} R R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u9 u8, max u3 u1, u10, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))))) (Matrix.{u9, u3, u7} m n α) (fun (_x : Matrix.{u9, u3, u7} m n α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u9, u3, u7} m n α) => LinearMap.{u10, u10, max (max u6 u1) u8, max (max u5 u1 u3) u8 u9} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) _x) (LinearMap.instFunLikeLinearMap.{u10, u10, max (max u7 u3) u9, max (max (max (max (max u6 u5) u1) u8) u3) u9} R R (Matrix.{u9, u3, u7} m n α) (LinearMap.{u10, u10, max (max u6 u1) u8, max (max u5 u1 u3) u8 u9} R R (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u7, u9, u3} m n α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4)) (LinearMap.addCommMonoid.{u10, u10, max (max u6 u8) u1, max (max (max (max u5 u9) u3) u8) u1} R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.module.{u7, u9, u3, u10} m n R α (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u10, u10, u10, max (max u6 u8) u1, max (max (max (max u5 u9) u3) u8) u1} R R R (Matrix.{u8, u1, u6} m' n' β) (Matrix.{max u8 u9, max u1 u3, u5} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ) (CommSemiring.toSemiring.{u10} R _inst_1) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.addCommMonoid.{u6, u8, u1} m' n' β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5)) (Matrix.addCommMonoid.{u5, max u9 u8, max u3 u1} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6)) (Matrix.module.{u6, u8, u1, u10} m' n' R β (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) _inst_8) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1))) (CommSemiring.toSemiring.{u10} R _inst_1) (Matrix.module.{u5, max u9 u8, max u3 u1, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9) (Matrix.smulCommClass.{u5, max u9 u8, max u3 u1, u10, u10} (Prod.{u9, u8} m m') (Prod.{u3, u1} n n') R R γ (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (SMulZeroClass.toSMul.{u10, u5} R γ (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (SMulWithZero.toSMulZeroClass.{u10, u5} R γ (CommMonoidWithZero.toZero.{u10} R (CommSemiring.toCommMonoidWithZero.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (MulActionWithZero.toSMulWithZero.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9)))) (smulCommClass_self.{u10, u5} R γ (CommSemiring.toCommMonoid.{u10} R _inst_1) (MulActionWithZero.toMulAction.{u10, u5} R γ (Semiring.toMonoidWithZero.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)) (AddMonoid.toZero.{u5} γ (AddCommMonoid.toAddMonoid.{u5} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6))) (Module.toMulActionWithZero.{u10, u5} R γ (CommSemiring.toSemiring.{u10} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_9))))) (RingHom.id.{u10} R (Semiring.toNonAssocSemiring.{u10} R (CommSemiring.toSemiring.{u10} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u10, u7, u6, u5, u9, u3, u8, u1} R α β γ m n m' n' _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u7} α _inst_4) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} β _inst_5) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} γ _inst_6) _inst_7 _inst_8 _inst_9 f) B) B')))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map_bilinear_mul_mul Matrix.kroneckerMapBilinear_mul_mulₓ'. -/
 /-- `matrix.kronecker_map_bilinear` commutes with `⬝` if `f` commutes with `*`.
 
 This is primarily used with `R = ℕ` to prove `matrix.mul_kronecker_mul`. -/
@@ -227,6 +357,12 @@ theorem kroneckerMapBilinear_mul_mul [CommSemiring R] [Fintype m] [Fintype m']
   simp_rw [f.map_sum, LinearMap.sum_apply, LinearMap.map_sum, h_comm]
 #align matrix.kronecker_map_bilinear_mul_mul Matrix.kroneckerMapBilinear_mul_mul
 
+/- warning: matrix.trace_kronecker_map_bilinear -> Matrix.trace_kroneckerMapBilinear is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u5} m] [_inst_3 : Fintype.{u6} n] [_inst_4 : AddCommMonoid.{u2} α] [_inst_5 : AddCommMonoid.{u3} β] [_inst_6 : AddCommMonoid.{u4} γ] [_inst_7 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] [_inst_8 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5] [_inst_9 : Module.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6] (f : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ _inst_6))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9))))) (A : Matrix.{u5, u5, u2} m m α) (B : Matrix.{u6, u6, u3} n n β), Eq.{succ u4} γ (Matrix.trace.{max u5 u6, u4} (Prod.{u5, u6} m n) γ (Prod.fintype.{u5, u6} m n _inst_2 _inst_3) _inst_6 (coeFn.{max (succ (max u6 u3)) (succ (max (max u5 u6) u4)), max (succ (max u6 u3)) (succ (max (max u5 u6) u4))} (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)) (fun (_x : LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)) => (Matrix.{u6, u6, u3} n n β) -> (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ)) (LinearMap.hasCoeToFun.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u5 u2)) (succ (max (max u6 u3) (max u5 u6) u4)), max (succ (max u5 u2)) (succ (max (max u6 u3) (max u5 u6) u4))} (LinearMap.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)) (Matrix.addCommMonoid.{u2, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_7) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 _inst_6 _inst_9))) (fun (_x : LinearMap.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)) (Matrix.addCommMonoid.{u2, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_7) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 _inst_6 _inst_9))) => (Matrix.{u5, u5, u2} m m α) -> (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9))) (LinearMap.hasCoeToFun.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u2, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 _inst_7) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β _inst_5) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ _inst_6) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 _inst_6 _inst_9)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u1, u2, u3, u4, u5, u5, u6, u6} R α β γ m m n n _inst_1 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) A) B)) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ _inst_6))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ _inst_6))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_7 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_9 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ _inst_6))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_6 _inst_9)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (Matrix.trace.{u5, u2} m α _inst_2 _inst_4 A)) (Matrix.trace.{u6, u3} n β _inst_3 _inst_5 B))
+but is expected to have type
+  forall {R : Type.{u6}} {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {m : Type.{u5}} {n : Type.{u4}} [_inst_1 : CommSemiring.{u6} R] [_inst_2 : Fintype.{u5} m] [_inst_3 : Fintype.{u4} n] [_inst_4 : AddCommMonoid.{u3} α] [_inst_5 : AddCommMonoid.{u2} β] [_inst_6 : AddCommMonoid.{u1} γ] [_inst_7 : Module.{u6, u3} R α (CommSemiring.toSemiring.{u6} R _inst_1) _inst_4] [_inst_8 : Module.{u6, u2} R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5] [_inst_9 : Module.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6] (f : LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9))))) (A : Matrix.{u5, u5, u3} m m α) (B : Matrix.{u4, u4, u2} n n β), Eq.{succ u1} γ (Matrix.trace.{max u5 u4, u1} (Prod.{u5, u4} m n) γ (instFintypeProd.{u5, u4} m n _inst_2 _inst_3) _inst_6 (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u5)) (succ u4), max (succ u2) (succ u4), max (max (succ u1) (succ u5)) (succ u4)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u5, u5, u3} m m α) => LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)) A) (Matrix.{u4, u4, u2} n n β) (fun (_x : Matrix.{u4, u4, u2} n n β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u4, u4, u2} n n β) => Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (max (max (succ u3) (succ u2)) (succ u1)) (succ u4)) (succ u5), max (succ u3) (succ u5), max (max (max (succ u2) (succ u1)) (succ u4)) (succ u5)} (LinearMap.{u6, u6, max u3 u5, max (max u1 u4 u5) u2 u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u5, u5, u3} m m α) (LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)) (Matrix.addCommMonoid.{u3, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.module.{u3, u5, u5, u6} m m R α (CommSemiring.toSemiring.{u6} R _inst_1) _inst_4 _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, max u2 u4, max (max u1 u5) u4} R R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (Matrix.smulCommClass.{u1, max u5 u4, max u5 u4, u6, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R R γ (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))))) (Matrix.{u5, u5, u3} m m α) (fun (_x : Matrix.{u5, u5, u3} m m α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u5, u5, u3} m m α) => LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, max u3 u5, max (max (max u2 u1) u4) u5} R R (Matrix.{u5, u5, u3} m m α) (LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u3, u5, u5} m m α _inst_4) (LinearMap.addCommMonoid.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.module.{u3, u5, u5, u6} m m R α (CommSemiring.toSemiring.{u6} R _inst_1) _inst_4 _inst_7) (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, max u2 u4, max (max u1 u5) u4} R R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β _inst_5) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ _inst_6) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_8) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9) (Matrix.smulCommClass.{u1, max u5 u4, max u5 u4, u6, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R R γ (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9))))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u6, u3, u2, u1, u5, u5, u4, u4} R α β γ m m n n _inst_1 _inst_4 _inst_5 _inst_6 _inst_7 _inst_8 _inst_9 f) A) B)) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) (Matrix.trace.{u5, u3} m α _inst_2 _inst_4 A)) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _inst_4 (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ _inst_5 _inst_6 _inst_8 _inst_9) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_4 (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_7 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_5 _inst_6 _inst_8 _inst_9 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_9 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ _inst_6)) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) _inst_6 _inst_9)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f (Matrix.trace.{u5, u3} m α _inst_2 _inst_4 A)) (Matrix.trace.{u4, u2} n β _inst_3 _inst_5 B))
+Case conversion may be inaccurate. Consider using '#align matrix.trace_kronecker_map_bilinear Matrix.trace_kroneckerMapBilinearₓ'. -/
 /-- `trace` distributes over `matrix.kronecker_map_bilinear`.
 
 This is primarily used with `R = ℕ` to prove `matrix.trace_kronecker`. -/
@@ -238,6 +374,12 @@ theorem trace_kroneckerMapBilinear [CommSemiring R] [Fintype m] [Fintype n] [Add
     map_sum, ← Finset.univ_product_univ, Finset.sum_product, kronecker_map_apply]
 #align matrix.trace_kronecker_map_bilinear Matrix.trace_kroneckerMapBilinear
 
+/- warning: matrix.det_kronecker_map_bilinear -> Matrix.det_kroneckerMapBilinear is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u5} m] [_inst_3 : Fintype.{u6} n] [_inst_4 : DecidableEq.{succ u5} m] [_inst_5 : DecidableEq.{succ u6} n] [_inst_6 : CommRing.{u2} α] [_inst_7 : CommRing.{u3} β] [_inst_8 : CommRing.{u4} γ] [_inst_9 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6)))))] [_inst_10 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))] [_inst_11 : Module.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))] (f : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))), (forall (a : α) (b : α) (a' : β) (b' : β), Eq.{succ u4} γ (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (HMul.hMul.{u2, u2, u2} α α α (instHMul.{u2} α (Distrib.toHasMul.{u2} α (Ring.toDistrib.{u2} α (CommRing.toRing.{u2} α _inst_6)))) a b)) (HMul.hMul.{u3, u3, u3} β β β (instHMul.{u3} β (Distrib.toHasMul.{u3} β (Ring.toDistrib.{u3} β (CommRing.toRing.{u3} β _inst_7)))) a' b')) (HMul.hMul.{u4, u4, u4} γ γ γ (instHMul.{u4} γ (Distrib.toHasMul.{u4} γ (Ring.toDistrib.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))) (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f a) a') (coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f b) b'))) -> (forall (A : Matrix.{u5, u5, u2} m m α) (B : Matrix.{u6, u6, u3} n n β), Eq.{succ u4} γ (Matrix.det.{u4, max u5 u6} (Prod.{u5, u6} m n) (fun (a : Prod.{u5, u6} m n) (b : Prod.{u5, u6} m n) => Prod.Lex.decidableEq.{u5, u6} m n (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) a b) (Prod.fintype.{u5, u6} m n _inst_2 _inst_3) γ _inst_8 (coeFn.{max (succ (max u6 u3)) (succ (max (max u5 u6) u4)), max (succ (max u6 u3)) (succ (max (max u5 u6) u4))} (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) (fun (_x : LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) => (Matrix.{u6, u6, u3} n n β) -> (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ)) (LinearMap.hasCoeToFun.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u5 u2)) (succ (max (max u6 u3) (max u5 u6) u4)), max (succ (max u5 u2)) (succ (max (max u6 u3) (max u5 u6) u4))} (LinearMap.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) (Matrix.addCommMonoid.{u2, u5, u5} m m α (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6)))))) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) _inst_9) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))) (fun (_x : LinearMap.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) (Matrix.addCommMonoid.{u2, u5, u5} m m α (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6)))))) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) _inst_9) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))) => (Matrix.{u5, u5, u2} m m α) -> (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))) (LinearMap.hasCoeToFun.{u1, u1, max u5 u2, max (max u6 u3) (max u5 u6) u4} R R (Matrix.{u5, u5, u2} m m α) (LinearMap.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u2, u5, u5} m m α (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6)))))) (LinearMap.addCommMonoid.{u1, u1, max u6 u3, max (max u5 u6) u4} R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u5, u5, u1} m m R α (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) _inst_9) (LinearMap.module.{u1, u1, u1, max u6 u3, max (max u5 u6) u4} R R R (Matrix.{u6, u6, u3} n n β) (Matrix.{max u5 u6, max u5 u6, u4} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u6} n n β (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7)))))) (Matrix.addCommMonoid.{u4, max u5 u6, max u5 u6} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))) (Matrix.module.{u3, u6, u6, u1} n n R β (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) _inst_10) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u4, max u5 u6, max u5 u6, u1} (Prod.{u5, u6} m n) (Prod.{u5, u6} m n) R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11) (Matrix.kroneckerMapBilinear._proof_2.{u1, u6, u6, u4, u5, u5} R γ m m n n _inst_1 (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u1, u2, u3, u4, u5, u5, u6, u6} R α β γ m m n n _inst_1 (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_9 _inst_10 _inst_11 f) A) B)) (HMul.hMul.{u4, u4, u4} γ γ γ (instHMul.{u4} γ (Distrib.toHasMul.{u4} γ (Ring.toDistrib.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))) (HPow.hPow.{u4, 0, u4} γ Nat γ (instHPow.{u4, 0} γ Nat (Monoid.Pow.{u4} γ (Ring.toMonoid.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))) (Matrix.det.{u4, u5} m (fun (a : m) (b : m) => _inst_4 a b) _inst_2 γ _inst_8 (Matrix.map.{u2, u4, u5, u5} m m α γ A (fun (a : α) => coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f a) (OfNat.ofNat.{u3} β 1 (OfNat.mk.{u3} β 1 (One.one.{u3} β (AddMonoidWithOne.toOne.{u3} β (AddGroupWithOne.toAddMonoidWithOne.{u3} β (AddCommGroupWithOne.toAddGroupWithOne.{u3} β (Ring.toAddCommGroupWithOne.{u3} β (CommRing.toRing.{u3} β _inst_7))))))))))) (Fintype.card.{u6} n _inst_3)) (HPow.hPow.{u4, 0, u4} γ Nat γ (instHPow.{u4, 0} γ Nat (Monoid.Pow.{u4} γ (Ring.toMonoid.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))) (Matrix.det.{u4, u6} n (fun (a : n) (b : n) => _inst_5 a b) _inst_3 γ _inst_8 (Matrix.map.{u3, u4, u6, u6} n n β γ B (fun (b : β) => coeFn.{max (succ u3) (succ u4), max (succ u3) (succ u4)} (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (fun (_x : LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) => β -> γ) (LinearMap.hasCoeToFun.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max u3 u4)), max (succ u2) (succ (max u3 u4))} (LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) (fun (_x : LinearMap.{u1, u1, u2, max u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11))))) => α -> (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11)) (LinearMap.hasCoeToFun.{u1, u1, u2, max u3 u4} R R α (LinearMap.{u1, u1, u3, u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) β γ (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_6))))) (LinearMap.addCommMonoid.{u1, u1, u3, u4} R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_9 (LinearMap.module.{u1, u1, u1, u3, u4} R R R β γ (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_7))))) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) _inst_11 (smulCommClass_self.{u1, u4} R γ (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u4} R γ (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u4} γ (AddMonoid.toAddZeroClass.{u4} γ (AddCommMonoid.toAddMonoid.{u4} γ (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8)))))))) (Module.toMulActionWithZero.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) (AddCommGroup.toAddCommMonoid.{u4} γ (NonUnitalNonAssocRing.toAddCommGroup.{u4} γ (NonAssocRing.toNonUnitalNonAssocRing.{u4} γ (Ring.toNonAssocRing.{u4} γ (CommRing.toRing.{u4} γ _inst_8))))) _inst_11)))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) f (OfNat.ofNat.{u2} α 1 (OfNat.mk.{u2} α 1 (One.one.{u2} α (AddMonoidWithOne.toOne.{u2} α (AddGroupWithOne.toAddMonoidWithOne.{u2} α (AddCommGroupWithOne.toAddGroupWithOne.{u2} α (Ring.toAddCommGroupWithOne.{u2} α (CommRing.toRing.{u2} α _inst_6))))))))) b))) (Fintype.card.{u5} m _inst_2))))
+but is expected to have type
+  forall {R : Type.{u6}} {α : Type.{u3}} {β : Type.{u2}} {γ : Type.{u1}} {m : Type.{u5}} {n : Type.{u4}} [_inst_1 : CommSemiring.{u6} R] [_inst_2 : Fintype.{u5} m] [_inst_3 : Fintype.{u4} n] [_inst_4 : DecidableEq.{succ u5} m] [_inst_5 : DecidableEq.{succ u4} n] [_inst_6 : CommRing.{u3} α] [_inst_7 : CommRing.{u2} β] [_inst_8 : CommRing.{u1} γ] [_inst_9 : Module.{u6, u3} R α (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6)))))] [_inst_10 : Module.{u6, u2} R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))] [_inst_11 : Module.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))] (f : LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))), (forall (a : α) (b : α) (a' : β) (b' : β), Eq.{succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β (NonUnitalNonAssocRing.toMul.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) a' b')) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (HMul.hMul.{u3, u3, u3} α α α (instHMul.{u3} α (NonUnitalNonAssocRing.toMul.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) a b)) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f (HMul.hMul.{u3, u3, u3} α α α (instHMul.{u3} α (NonUnitalNonAssocRing.toMul.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) a b)) (HMul.hMul.{u2, u2, u2} β β β (instHMul.{u2} β (NonUnitalNonAssocRing.toMul.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) a' b')) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) b') ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') (NonUnitalNonAssocRing.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') (NonAssocRing.toNonUnitalNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) a') _inst_8))))) (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) a) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f a) a') (FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) b) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f b) b'))) -> (forall (A : Matrix.{u5, u5, u3} m m α) (B : Matrix.{u4, u4, u2} n n β), Eq.{succ u1} γ (Matrix.det.{u1, max u5 u4} (Prod.{u5, u4} m n) (fun (a : Prod.{u5, u4} m n) (b : Prod.{u5, u4} m n) => instDecidableEqProd.{u5, u4} m n (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) a b) (instFintypeProd.{u5, u4} m n _inst_2 _inst_3) γ _inst_8 (FunLike.coe.{max (max (max (succ u2) (succ u1)) (succ u5)) (succ u4), max (succ u2) (succ u4), max (max (succ u1) (succ u5)) (succ u4)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u5, u5, u3} m m α) => LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)) A) (Matrix.{u4, u4, u2} n n β) (fun (_x : Matrix.{u4, u4, u2} n n β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u4, u4, u2} n n β) => Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (max (max (succ u3) (succ u2)) (succ u1)) (succ u4)) (succ u5), max (succ u3) (succ u5), max (max (max (succ u2) (succ u1)) (succ u4)) (succ u5)} (LinearMap.{u6, u6, max u3 u5, max (max u1 u4 u5) u2 u4} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u5, u5, u3} m m α) (LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)) (Matrix.addCommMonoid.{u3, u5, u5} m m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6)))))) (LinearMap.addCommMonoid.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.module.{u3, u5, u5, u6} m m R α (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) _inst_9) (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, max u2 u4, max (max u1 u5) u4} R R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (Matrix.smulCommClass.{u1, max u5 u4, max u5 u4, u6, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R R γ (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))))) (Matrix.{u5, u5, u3} m m α) (fun (_x : Matrix.{u5, u5, u3} m m α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u5, u5, u3} m m α) => LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, max u3 u5, max (max (max u2 u1) u4) u5} R R (Matrix.{u5, u5, u3} m m α) (LinearMap.{u6, u6, max u2 u4, max u1 u4 u5} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u3, u5, u5} m m α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6)))))) (LinearMap.addCommMonoid.{u6, u6, max u2 u4, max (max u1 u5) u4} R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.module.{u3, u5, u5, u6} m m R α (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) _inst_9) (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, max u2 u4, max (max u1 u5) u4} R R R (Matrix.{u4, u4, u2} n n β) (Matrix.{max u4 u5, max u4 u5, u1} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.addCommMonoid.{u2, u4, u4} n n β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7)))))) (Matrix.addCommMonoid.{u1, max u5 u4, max u5 u4} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8)))))) (Matrix.module.{u2, u4, u4, u6} n n R β (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) _inst_10) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) (Matrix.module.{u1, max u5 u4, max u5 u4, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11) (Matrix.smulCommClass.{u1, max u5 u4, max u5 u4, u6, u6} (Prod.{u5, u4} m n) (Prod.{u5, u4} m n) R R γ (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (SMulZeroClass.toSMul.{u6, u1} R γ (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (SMulWithZero.toSMulZeroClass.{u6, u1} R γ (CommMonoidWithZero.toZero.{u6} R (CommSemiring.toCommMonoidWithZero.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (MulActionWithZero.toSMulWithZero.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (AddMonoid.toZero.{u1} γ (AddCommMonoid.toAddMonoid.{u1} γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (Matrix.kroneckerMapBilinear.{u6, u3, u2, u1, u5, u5, u4, u4} R α β γ m m n n _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_9 _inst_10 _inst_11 f) A) B)) (HMul.hMul.{u1, u1, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) γ ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (instHMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (NonUnitalNonAssocRing.toMul.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (NonAssocRing.toNonUnitalNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (Ring.toNonAssocRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (CommRing.toRing.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) _inst_8))))) (HPow.hPow.{u1, 0, u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) Nat ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (instHPow.{u1, 0} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) Nat (Monoid.Pow.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (MonoidWithZero.toMonoid.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (Semiring.toMonoidWithZero.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (CommSemiring.toSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) (CommRing.toCommSemiring.{u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) _inst_8)))))) (Matrix.det.{u1, u5} m (fun (a : m) (b : m) => _inst_4 a b) _inst_2 ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) _inst_8 (Matrix.map.{u3, u1, u5, u5} m m α ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))) A (fun (a : α) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) a) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f a) (OfNat.ofNat.{u2} β 1 (One.toOfNat1.{u2} β (Semiring.toOne.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_7)))))))) (Fintype.card.{u4} n _inst_3)) (HPow.hPow.{u1, 0, u1} γ Nat γ (instHPow.{u1, 0} γ Nat (Monoid.Pow.{u1} γ (MonoidWithZero.toMonoid.{u1} γ (Semiring.toMonoidWithZero.{u1} γ (CommSemiring.toSemiring.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8)))))) (Matrix.det.{u1, u4} n (fun (a : n) (b : n) => _inst_5 a b) _inst_3 γ _inst_8 (Matrix.map.{u2, u1, u4, u4} n n β γ B (fun (b : β) => FunLike.coe.{max (succ u2) (succ u1), succ u2, succ u1} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (OfNat.ofNat.{u3} α 1 (One.toOfNat1.{u3} α (Semiring.toOne.{u3} α (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_6)))))) β (fun (_x : β) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : β) => γ) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), succ u3, max (succ u2) (succ u1)} (LinearMap.{u6, u6, u3, max u1 u2} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11))))) α (fun (_x : α) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : α) => LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) _x) (LinearMap.instFunLikeLinearMap.{u6, u6, u3, max u2 u1} R R α (LinearMap.{u6, u6, u2, u1} R R (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) β γ (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11) (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_6))))) (LinearMap.addCommMonoid.{u6, u6, u2, u1} R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) _inst_9 (LinearMap.instModuleLinearMapAddCommMonoid.{u6, u6, u6, u2, u1} R R R β γ (CommSemiring.toSemiring.{u6} R _inst_1) (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_7))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_10 _inst_11 (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1))) (CommSemiring.toSemiring.{u6} R _inst_1) _inst_11 (smulCommClass_self.{u6, u1} R γ (CommSemiring.toCommMonoid.{u6} R _inst_1) (MulActionWithZero.toMulAction.{u6, u1} R γ (Semiring.toMonoidWithZero.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)) (CommMonoidWithZero.toZero.{u1} γ (CommSemiring.toCommMonoidWithZero.{u1} γ (CommRing.toCommSemiring.{u1} γ _inst_8))) (Module.toMulActionWithZero.{u6, u1} R γ (CommSemiring.toSemiring.{u6} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} γ (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u1} γ (NonAssocRing.toNonUnitalNonAssocRing.{u1} γ (Ring.toNonAssocRing.{u1} γ (CommRing.toRing.{u1} γ _inst_8))))) _inst_11)))) (RingHom.id.{u6} R (Semiring.toNonAssocSemiring.{u6} R (CommSemiring.toSemiring.{u6} R _inst_1)))) f (OfNat.ofNat.{u3} α 1 (One.toOfNat1.{u3} α (Semiring.toOne.{u3} α (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_6)))))) b))) (Fintype.card.{u5} m _inst_2))))
+Case conversion may be inaccurate. Consider using '#align matrix.det_kronecker_map_bilinear Matrix.det_kroneckerMapBilinearₓ'. -/
 /-- `determinant` of `matrix.kronecker_map_bilinear`.
 
 This is primarily used with `R = ℕ` to prove `matrix.det_kronecker`. -/
@@ -273,89 +415,171 @@ section Kronecker
 
 open Matrix
 
+#print Matrix.kronecker /-
 /-- The Kronecker product. This is just a shorthand for `kronecker_map (*)`. Prefer the notation
 `⊗ₖ` rather than this definition. -/
 @[simp]
 def kronecker [Mul α] : Matrix l m α → Matrix n p α → Matrix (l × n) (m × p) α :=
   kroneckerMap (· * ·)
 #align matrix.kronecker Matrix.kronecker
+-/
 
 -- mathport name: matrix.kronecker_map.mul
 scoped[Kronecker] infixl:100 " ⊗ₖ " => Matrix.kroneckerMap (· * ·)
 
+/- warning: matrix.kronecker_apply -> Matrix.kronecker_apply is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} {p : Type.{u5}} [_inst_1 : Mul.{u1} α] (A : Matrix.{u2, u3, u1} l m α) (B : Matrix.{u4, u5, u1} n p α) (i₁ : l) (i₂ : n) (j₁ : m) (j₂ : p), Eq.{succ u1} α (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α _inst_1)) A B (Prod.mk.{u2, u4} l n i₁ i₂) (Prod.mk.{u3, u5} m p j₁ j₂)) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α _inst_1) (A i₁ j₁) (B i₂ j₂))
+but is expected to have type
+  forall {α : Type.{u5}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : Mul.{u5} α] (A : Matrix.{u4, u3, u5} l m α) (B : Matrix.{u2, u1, u5} n p α) (i₁ : l) (i₂ : n) (j₁ : m) (j₂ : p), Eq.{succ u5} α (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3156 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3158 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α _inst_1) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3156 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3158) A B (Prod.mk.{u4, u2} l n i₁ i₂) (Prod.mk.{u3, u1} m p j₁ j₂)) (HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α _inst_1) (A i₁ j₁) (B i₂ j₂))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_apply Matrix.kronecker_applyₓ'. -/
 @[simp]
 theorem kronecker_apply [Mul α] (A : Matrix l m α) (B : Matrix n p α) (i₁ i₂ j₁ j₂) :
     (A ⊗ₖ B) (i₁, i₂) (j₁, j₂) = A i₁ j₁ * B i₂ j₂ :=
   rfl
 #align matrix.kronecker_apply Matrix.kronecker_apply
 
+#print Matrix.kroneckerBilinear /-
 /-- `matrix.kronecker` as a bilinear map. -/
 def kroneckerBilinear [CommSemiring R] [Semiring α] [Algebra R α] :
     Matrix l m α →ₗ[R] Matrix n p α →ₗ[R] Matrix (l × n) (m × p) α :=
   kroneckerMapBilinear (Algebra.lmul R α)
 #align matrix.kronecker_bilinear Matrix.kroneckerBilinear
+-/
 
 /-! What follows is a copy, in order, of every `matrix.kronecker_map` lemma above that has
 hypotheses which can be filled by properties of `*`. -/
 
 
+/- warning: matrix.zero_kronecker -> Matrix.zero_kronecker is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} {p : Type.{u5}} [_inst_1 : MulZeroClass.{u1} α] (B : Matrix.{u4, u5, u1} n p α), Eq.{succ (max (max u2 u4) (max u3 u5) u1)} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1))) (OfNat.ofNat.{max u2 u3 u1} (Matrix.{u2, u3, u1} l m α) 0 (OfNat.mk.{max u2 u3 u1} (Matrix.{u2, u3, u1} l m α) 0 (Zero.zero.{max u2 u3 u1} (Matrix.{u2, u3, u1} l m α) (Matrix.hasZero.{u1, u2, u3} l m α (MulZeroClass.toHasZero.{u1} α _inst_1))))) B) (OfNat.ofNat.{max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) 0 (OfNat.mk.{max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) 0 (Zero.zero.{max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.hasZero.{u1, max u2 u4, max u3 u5} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α (MulZeroClass.toHasZero.{u1} α _inst_1)))))
+but is expected to have type
+  forall {α : Type.{u5}} {l : Type.{u2}} {m : Type.{u1}} {n : Type.{u4}} {p : Type.{u3}} [_inst_1 : MulZeroClass.{u5} α] (B : Matrix.{u4, u3, u5} n p α), Eq.{max (max (max (max (succ u5) (succ u2)) (succ u1)) (succ u4)) (succ u3)} (Matrix.{max u4 u2, max u3 u1, u5} (Prod.{u2, u4} l n) (Prod.{u1, u3} m p) α) (Matrix.kroneckerMap.{u5, u5, u5, u2, u1, u4, u3} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3297 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3299 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (MulZeroClass.toMul.{u5} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3297 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3299) (OfNat.ofNat.{max (max u5 u2) u1} (Matrix.{u2, u1, u5} l m α) 0 (Zero.toOfNat0.{max (max u5 u2) u1} (Matrix.{u2, u1, u5} l m α) (Matrix.zero.{u5, u2, u1} l m α (MulZeroClass.toZero.{u5} α _inst_1)))) B) (OfNat.ofNat.{max (max (max (max u5 u2) u1) u4) u3} (Matrix.{max u4 u2, max u3 u1, u5} (Prod.{u2, u4} l n) (Prod.{u1, u3} m p) α) 0 (Zero.toOfNat0.{max (max (max (max u5 u2) u1) u4) u3} (Matrix.{max u4 u2, max u3 u1, u5} (Prod.{u2, u4} l n) (Prod.{u1, u3} m p) α) (Matrix.zero.{u5, max u2 u4, max u1 u3} (Prod.{u2, u4} l n) (Prod.{u1, u3} m p) α (MulZeroClass.toZero.{u5} α _inst_1))))
+Case conversion may be inaccurate. Consider using '#align matrix.zero_kronecker Matrix.zero_kroneckerₓ'. -/
 @[simp]
 theorem zero_kronecker [MulZeroClass α] (B : Matrix n p α) : (0 : Matrix l m α) ⊗ₖ B = 0 :=
   kroneckerMap_zero_left _ MulZeroClass.zero_mul B
 #align matrix.zero_kronecker Matrix.zero_kronecker
 
+/- warning: matrix.kronecker_zero -> Matrix.kronecker_zero is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} {p : Type.{u5}} [_inst_1 : MulZeroClass.{u1} α] (A : Matrix.{u2, u3, u1} l m α), Eq.{succ (max (max u2 u4) (max u3 u5) u1)} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1))) A (OfNat.ofNat.{max u4 u5 u1} (Matrix.{u4, u5, u1} n p α) 0 (OfNat.mk.{max u4 u5 u1} (Matrix.{u4, u5, u1} n p α) 0 (Zero.zero.{max u4 u5 u1} (Matrix.{u4, u5, u1} n p α) (Matrix.hasZero.{u1, u4, u5} n p α (MulZeroClass.toHasZero.{u1} α _inst_1)))))) (OfNat.ofNat.{max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) 0 (OfNat.mk.{max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) 0 (Zero.zero.{max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.hasZero.{u1, max u2 u4, max u3 u5} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α (MulZeroClass.toHasZero.{u1} α _inst_1)))))
+but is expected to have type
+  forall {α : Type.{u5}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : MulZeroClass.{u5} α] (A : Matrix.{u4, u3, u5} l m α), Eq.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3357 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3359 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (MulZeroClass.toMul.{u5} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3357 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3359) A (OfNat.ofNat.{max (max u5 u2) u1} (Matrix.{u2, u1, u5} n p α) 0 (Zero.toOfNat0.{max (max u5 u2) u1} (Matrix.{u2, u1, u5} n p α) (Matrix.zero.{u5, u2, u1} n p α (MulZeroClass.toZero.{u5} α _inst_1))))) (OfNat.ofNat.{max (max (max (max u5 u4) u3) u2) u1} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) 0 (Zero.toOfNat0.{max (max (max (max u5 u4) u3) u2) u1} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.zero.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α (MulZeroClass.toZero.{u5} α _inst_1))))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_zero Matrix.kronecker_zeroₓ'. -/
 @[simp]
 theorem kronecker_zero [MulZeroClass α] (A : Matrix l m α) : A ⊗ₖ (0 : Matrix n p α) = 0 :=
   kroneckerMap_zero_right _ MulZeroClass.mul_zero A
 #align matrix.kronecker_zero Matrix.kronecker_zero
 
+/- warning: matrix.add_kronecker -> Matrix.add_kronecker is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} {p : Type.{u5}} [_inst_1 : Distrib.{u1} α] (A₁ : Matrix.{u2, u3, u1} l m α) (A₂ : Matrix.{u2, u3, u1} l m α) (B : Matrix.{u4, u5, u1} n p α), Eq.{succ (max (max u2 u4) (max u3 u5) u1)} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α _inst_1))) (HAdd.hAdd.{max u2 u3 u1, max u2 u3 u1, max u2 u3 u1} (Matrix.{u2, u3, u1} l m α) (Matrix.{u2, u3, u1} l m α) (Matrix.{u2, u3, u1} l m α) (instHAdd.{max u2 u3 u1} (Matrix.{u2, u3, u1} l m α) (Matrix.hasAdd.{u1, u2, u3} l m α (Distrib.toHasAdd.{u1} α _inst_1))) A₁ A₂) B) (HAdd.hAdd.{max (max u2 u4) (max u3 u5) u1, max (max u2 u4) (max u3 u5) u1, max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (instHAdd.{max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.hasAdd.{u1, max u2 u4, max u3 u5} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α (Distrib.toHasAdd.{u1} α _inst_1))) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α _inst_1))) A₁ B) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α _inst_1))) A₂ B))
+but is expected to have type
+  forall {α : Type.{u5}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : Distrib.{u5} α] (A₁ : Matrix.{u4, u3, u5} l m α) (A₂ : Matrix.{u4, u3, u5} l m α) (B : Matrix.{u2, u1, u5} n p α), Eq.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3425 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3427 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (Distrib.toMul.{u5} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3425 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3427) (HAdd.hAdd.{max (max u5 u4) u3, max (max u5 u4) u3, max (max u5 u4) u3} (Matrix.{u4, u3, u5} l m α) (Matrix.{u4, u3, u5} l m α) (Matrix.{u4, u3, u5} l m α) (instHAdd.{max (max u5 u4) u3} (Matrix.{u4, u3, u5} l m α) (Matrix.add.{u5, u4, u3} l m α (Distrib.toAdd.{u5} α _inst_1))) A₁ A₂) B) (HAdd.hAdd.{max (max (max (max u5 u4) u3) u2) u1, max (max (max (max u5 u4) u3) u2) u1, max (max (max (max u5 u4) u3) u2) u1} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (instHAdd.{max (max (max (max u5 u4) u3) u2) u1} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.add.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α (Distrib.toAdd.{u5} α _inst_1))) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3452 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3454 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (Distrib.toMul.{u5} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3452 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3454) A₁ B) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3472 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3474 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (Distrib.toMul.{u5} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3472 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3474) A₂ B))
+Case conversion may be inaccurate. Consider using '#align matrix.add_kronecker Matrix.add_kroneckerₓ'. -/
 theorem add_kronecker [Distrib α] (A₁ A₂ : Matrix l m α) (B : Matrix n p α) :
     (A₁ + A₂) ⊗ₖ B = A₁ ⊗ₖ B + A₂ ⊗ₖ B :=
   kroneckerMap_add_left _ add_mul _ _ _
 #align matrix.add_kronecker Matrix.add_kronecker
 
+/- warning: matrix.kronecker_add -> Matrix.kronecker_add is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} {p : Type.{u5}} [_inst_1 : Distrib.{u1} α] (A : Matrix.{u2, u3, u1} l m α) (B₁ : Matrix.{u4, u5, u1} n p α) (B₂ : Matrix.{u4, u5, u1} n p α), Eq.{succ (max (max u2 u4) (max u3 u5) u1)} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α _inst_1))) A (HAdd.hAdd.{max u4 u5 u1, max u4 u5 u1, max u4 u5 u1} (Matrix.{u4, u5, u1} n p α) (Matrix.{u4, u5, u1} n p α) (Matrix.{u4, u5, u1} n p α) (instHAdd.{max u4 u5 u1} (Matrix.{u4, u5, u1} n p α) (Matrix.hasAdd.{u1, u4, u5} n p α (Distrib.toHasAdd.{u1} α _inst_1))) B₁ B₂)) (HAdd.hAdd.{max (max u2 u4) (max u3 u5) u1, max (max u2 u4) (max u3 u5) u1, max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (instHAdd.{max (max u2 u4) (max u3 u5) u1} (Matrix.{max u2 u4, max u3 u5, u1} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α) (Matrix.hasAdd.{u1, max u2 u4, max u3 u5} (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) α (Distrib.toHasAdd.{u1} α _inst_1))) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α _inst_1))) A B₁) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α _inst_1))) A B₂))
+but is expected to have type
+  forall {α : Type.{u5}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : Distrib.{u5} α] (A : Matrix.{u4, u3, u5} l m α) (B₁ : Matrix.{u2, u1, u5} n p α) (B₂ : Matrix.{u2, u1, u5} n p α), Eq.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3535 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3537 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (Distrib.toMul.{u5} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3535 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3537) A (HAdd.hAdd.{max (max u5 u2) u1, max (max u5 u2) u1, max (max u5 u2) u1} (Matrix.{u2, u1, u5} n p α) (Matrix.{u2, u1, u5} n p α) (Matrix.{u2, u1, u5} n p α) (instHAdd.{max (max u5 u2) u1} (Matrix.{u2, u1, u5} n p α) (Matrix.add.{u5, u2, u1} n p α (Distrib.toAdd.{u5} α _inst_1))) B₁ B₂)) (HAdd.hAdd.{max (max (max (max u5 u4) u3) u2) u1, max (max (max (max u5 u4) u3) u2) u1, max (max (max (max u5 u4) u3) u2) u1} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (instHAdd.{max (max (max (max u5 u4) u3) u2) u1} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.add.{u5, max u4 u2, max u3 u1} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α (Distrib.toAdd.{u5} α _inst_1))) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3562 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3564 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (Distrib.toMul.{u5} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3562 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3564) A B₁) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3582 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3584 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (Distrib.toMul.{u5} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3582 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3584) A B₂))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_add Matrix.kronecker_addₓ'. -/
 theorem kronecker_add [Distrib α] (A : Matrix l m α) (B₁ B₂ : Matrix n p α) :
     A ⊗ₖ (B₁ + B₂) = A ⊗ₖ B₁ + A ⊗ₖ B₂ :=
   kroneckerMap_add_right _ mul_add _ _ _
 #align matrix.kronecker_add Matrix.kronecker_add
 
+/- warning: matrix.smul_kronecker -> Matrix.smul_kronecker is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} {p : Type.{u6}} [_inst_1 : Monoid.{u1} R] [_inst_2 : Monoid.{u2} α] [_inst_3 : MulAction.{u1, u2} R α _inst_1] [_inst_4 : IsScalarTower.{u1, u2, u2} R α α (MulAction.toHasSmul.{u1, u2} R α _inst_1 _inst_3) (Mul.toSMul.{u2} α (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α _inst_2))) (MulAction.toHasSmul.{u1, u2} R α _inst_1 _inst_3)] (r : R) (A : Matrix.{u3, u4, u2} l m α) (B : Matrix.{u5, u6, u2} n p α), Eq.{succ (max (max u3 u5) (max u4 u6) u2)} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) α) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α α l m n p (HMul.hMul.{u2, u2, u2} α α α (instHMul.{u2} α (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α _inst_2)))) (SMul.smul.{u1, max u3 u4 u2} R (Matrix.{u3, u4, u2} l m α) (Matrix.hasSmul.{u2, u3, u4, u1} l m R α (MulAction.toHasSmul.{u1, u2} R α _inst_1 _inst_3)) r A) B) (SMul.smul.{u1, max (max u3 u5) (max u4 u6) u2} R (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) α) (Matrix.hasSmul.{u2, max u3 u5, max u4 u6, u1} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) R α (MulAction.toHasSmul.{u1, u2} R α _inst_1 _inst_3)) r (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α α l m n p (HMul.hMul.{u2, u2, u2} α α α (instHMul.{u2} α (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α _inst_2)))) A B))
+but is expected to have type
+  forall {R : Type.{u6}} {α : Type.{u5}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : Monoid.{u6} R] [_inst_2 : Monoid.{u5} α] [_inst_3 : MulAction.{u6, u5} R α _inst_1] [_inst_4 : IsScalarTower.{u6, u5, u5} R α α (MulAction.toSMul.{u6, u5} R α _inst_1 _inst_3) (MulAction.toSMul.{u5, u5} α α _inst_2 (Monoid.toMulAction.{u5} α _inst_2)) (MulAction.toSMul.{u6, u5} R α _inst_1 _inst_3)] (r : R) (A : Matrix.{u4, u3, u5} l m α) (B : Matrix.{u2, u1, u5} n p α), Eq.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3654 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3656 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (MulOneClass.toMul.{u5} α (Monoid.toMulOneClass.{u5} α _inst_2))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3654 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3656) (HSMul.hSMul.{u6, max (max u5 u4) u3, max (max u5 u4) u3} R (Matrix.{u4, u3, u5} l m α) (Matrix.{u4, u3, u5} l m α) (instHSMul.{u6, max (max u5 u4) u3} R (Matrix.{u4, u3, u5} l m α) (Matrix.smul.{u5, u4, u3, u6} l m R α (MulAction.toSMul.{u6, u5} R α _inst_1 _inst_3))) r A) B) (HSMul.hSMul.{u6, max (max (max (max u1 u2) u3) u4) u5, max (max (max (max u5 u4) u3) u2) u1} R (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (instHSMul.{u6, max (max (max (max u5 u4) u3) u2) u1} R (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.smul.{u5, max u4 u2, max u3 u1, u6} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) R α (MulAction.toSMul.{u6, u5} R α _inst_1 _inst_3))) r (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3684 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3686 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (MulOneClass.toMul.{u5} α (Monoid.toMulOneClass.{u5} α _inst_2))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3684 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3686) A B))
+Case conversion may be inaccurate. Consider using '#align matrix.smul_kronecker Matrix.smul_kroneckerₓ'. -/
 theorem smul_kronecker [Monoid R] [Monoid α] [MulAction R α] [IsScalarTower R α α] (r : R)
     (A : Matrix l m α) (B : Matrix n p α) : (r • A) ⊗ₖ B = r • A ⊗ₖ B :=
   kroneckerMap_smul_left _ _ (fun _ _ => smul_mul_assoc _ _ _) _ _
 #align matrix.smul_kronecker Matrix.smul_kronecker
 
+/- warning: matrix.kronecker_smul -> Matrix.kronecker_smul is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} {p : Type.{u6}} [_inst_1 : Monoid.{u1} R] [_inst_2 : Monoid.{u2} α] [_inst_3 : MulAction.{u1, u2} R α _inst_1] [_inst_4 : SMulCommClass.{u1, u2, u2} R α α (MulAction.toHasSmul.{u1, u2} R α _inst_1 _inst_3) (Mul.toSMul.{u2} α (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α _inst_2)))] (r : R) (A : Matrix.{u3, u4, u2} l m α) (B : Matrix.{u5, u6, u2} n p α), Eq.{succ (max (max u3 u5) (max u4 u6) u2)} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) α) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α α l m n p (HMul.hMul.{u2, u2, u2} α α α (instHMul.{u2} α (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α _inst_2)))) A (SMul.smul.{u1, max u5 u6 u2} R (Matrix.{u5, u6, u2} n p α) (Matrix.hasSmul.{u2, u5, u6, u1} n p R α (MulAction.toHasSmul.{u1, u2} R α _inst_1 _inst_3)) r B)) (SMul.smul.{u1, max (max u3 u5) (max u4 u6) u2} R (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) α) (Matrix.hasSmul.{u2, max u3 u5, max u4 u6, u1} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) R α (MulAction.toHasSmul.{u1, u2} R α _inst_1 _inst_3)) r (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α α l m n p (HMul.hMul.{u2, u2, u2} α α α (instHMul.{u2} α (MulOneClass.toHasMul.{u2} α (Monoid.toMulOneClass.{u2} α _inst_2)))) A B))
+but is expected to have type
+  forall {R : Type.{u6}} {α : Type.{u5}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u2}} {p : Type.{u1}} [_inst_1 : Monoid.{u6} R] [_inst_2 : Monoid.{u5} α] [_inst_3 : MulAction.{u6, u5} R α _inst_1] [_inst_4 : SMulCommClass.{u6, u5, u5} R α α (MulAction.toSMul.{u6, u5} R α _inst_1 _inst_3) (MulAction.toSMul.{u5, u5} α α _inst_2 (Monoid.toMulAction.{u5} α _inst_2))] (r : R) (A : Matrix.{u4, u3, u5} l m α) (B : Matrix.{u2, u1, u5} n p α), Eq.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3767 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3769 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (MulOneClass.toMul.{u5} α (Monoid.toMulOneClass.{u5} α _inst_2))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3767 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3769) A (HSMul.hSMul.{u6, max (max u5 u2) u1, max (max u5 u2) u1} R (Matrix.{u2, u1, u5} n p α) (Matrix.{u2, u1, u5} n p α) (instHSMul.{u6, max (max u5 u2) u1} R (Matrix.{u2, u1, u5} n p α) (Matrix.smul.{u5, u2, u1, u6} n p R α (MulAction.toSMul.{u6, u5} R α _inst_1 _inst_3))) r B)) (HSMul.hSMul.{u6, max (max (max (max u1 u2) u3) u4) u5, max (max (max (max u5 u4) u3) u2) u1} R (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (instHSMul.{u6, max (max (max (max u5 u4) u3) u2) u1} R (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) α) (Matrix.smul.{u5, max u4 u2, max u3 u1, u6} (Prod.{u4, u2} l n) (Prod.{u3, u1} m p) R α (MulAction.toSMul.{u6, u5} R α _inst_1 _inst_3))) r (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3797 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3799 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (MulOneClass.toMul.{u5} α (Monoid.toMulOneClass.{u5} α _inst_2))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3797 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3799) A B))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_smul Matrix.kronecker_smulₓ'. -/
 theorem kronecker_smul [Monoid R] [Monoid α] [MulAction R α] [SMulCommClass R α α] (r : R)
     (A : Matrix l m α) (B : Matrix n p α) : A ⊗ₖ (r • B) = r • A ⊗ₖ B :=
   kroneckerMap_smul_right _ _ (fun _ _ => mul_smul_comm _ _ _) _ _
 #align matrix.kronecker_smul Matrix.kronecker_smul
 
+/- warning: matrix.diagonal_kronecker_diagonal -> Matrix.diagonal_kronecker_diagonal is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : Type.{u2}} {n : Type.{u3}} [_inst_1 : MulZeroClass.{u1} α] [_inst_2 : DecidableEq.{succ u2} m] [_inst_3 : DecidableEq.{succ u3} n] (a : m -> α) (b : n -> α), Eq.{succ (max (max u2 u3) u1)} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u2, u3} m n) (Prod.{u2, u3} m n) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u3} α α α m m n n (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1))) (Matrix.diagonal.{u1, u2} m α (fun (a : m) (b : m) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α _inst_1) a) (Matrix.diagonal.{u1, u3} n α (fun (a : n) (b : n) => _inst_3 a b) (MulZeroClass.toHasZero.{u1} α _inst_1) b)) (Matrix.diagonal.{u1, max u2 u3} (Prod.{u2, u3} m n) α (fun (a : Prod.{u2, u3} m n) (b : Prod.{u2, u3} m n) => Prod.Lex.decidableEq.{u2, u3} m n (fun (a : m) (b : m) => _inst_2 a b) (fun (a : n) (b : n) => _inst_3 a b) a b) (MulZeroClass.toHasZero.{u1} α _inst_1) (fun (mn : Prod.{u2, u3} m n) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1)) (a (Prod.fst.{u2, u3} m n mn)) (b (Prod.snd.{u2, u3} m n mn))))
+but is expected to have type
+  forall {α : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} [_inst_1 : MulZeroClass.{u3} α] [_inst_2 : DecidableEq.{succ u2} m] [_inst_3 : DecidableEq.{succ u1} n] (a : m -> α) (b : n -> α), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (Matrix.{max u1 u2, max u1 u2, u3} (Prod.{u2, u1} m n) (Prod.{u2, u1} m n) α) (Matrix.kroneckerMap.{u3, u3, u3, u2, u2, u1, u1} α α α m m n n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3871 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3873 : α) => HMul.hMul.{u3, u3, u3} α α α (instHMul.{u3} α (MulZeroClass.toMul.{u3} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3871 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3873) (Matrix.diagonal.{u3, u2} m α (fun (a : m) (b : m) => _inst_2 a b) (MulZeroClass.toZero.{u3} α _inst_1) a) (Matrix.diagonal.{u3, u1} n α (fun (a : n) (b : n) => _inst_3 a b) (MulZeroClass.toZero.{u3} α _inst_1) b)) (Matrix.diagonal.{u3, max u2 u1} (Prod.{u2, u1} m n) α (fun (a : Prod.{u2, u1} m n) (b : Prod.{u2, u1} m n) => instDecidableEqProd.{u2, u1} m n (fun (a : m) (b : m) => _inst_2 a b) (fun (a : n) (b : n) => _inst_3 a b) a b) (MulZeroClass.toZero.{u3} α _inst_1) (fun (mn : Prod.{u2, u1} m n) => HMul.hMul.{u3, u3, u3} α α α (instHMul.{u3} α (MulZeroClass.toMul.{u3} α _inst_1)) (a (Prod.fst.{u2, u1} m n mn)) (b (Prod.snd.{u2, u1} m n mn))))
+Case conversion may be inaccurate. Consider using '#align matrix.diagonal_kronecker_diagonal Matrix.diagonal_kronecker_diagonalₓ'. -/
 theorem diagonal_kronecker_diagonal [MulZeroClass α] [DecidableEq m] [DecidableEq n] (a : m → α)
     (b : n → α) : diagonal a ⊗ₖ diagonal b = diagonal fun mn => a mn.1 * b mn.2 :=
   kroneckerMap_diagonal_diagonal _ MulZeroClass.zero_mul MulZeroClass.mul_zero _ _
 #align matrix.diagonal_kronecker_diagonal Matrix.diagonal_kronecker_diagonal
 
+/- warning: matrix.kronecker_diagonal -> Matrix.kronecker_diagonal is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} [_inst_1 : MulZeroClass.{u1} α] [_inst_2 : DecidableEq.{succ u4} n] (A : Matrix.{u2, u3, u1} l m α) (b : n -> α), Eq.{succ (max (max u2 u4) (max u3 u4) u1)} (Matrix.{max u2 u4, max u3 u4, u1} (Prod.{u2, u4} l n) (Prod.{u3, u4} m n) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u4} α α α l m n n (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1))) A (Matrix.diagonal.{u1, u4} n α (fun (a : n) (b : n) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α _inst_1) b)) (Matrix.blockDiagonal.{u2, u3, u4, u1} l m n α (fun (a : n) (b : n) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α _inst_1) (fun (i : n) => SMul.smul.{u1, max u2 u3 u1} (MulOpposite.{u1} α) (Matrix.{u2, u3, u1} l m α) (Matrix.hasSmul.{u1, u2, u3, u1} l m (MulOpposite.{u1} α) α (Mul.toHasOppositeSMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1))) (MulOpposite.op.{u1} α (b i)) A))
+but is expected to have type
+  forall {α : Type.{u4}} {l : Type.{u2}} {m : Type.{u1}} {n : Type.{u3}} [_inst_1 : MulZeroClass.{u4} α] [_inst_2 : DecidableEq.{succ u3} n] (A : Matrix.{u2, u1, u4} l m α) (b : n -> α), Eq.{max (max (max (succ u4) (succ u2)) (succ u1)) (succ u3)} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} l n) (Prod.{u1, u3} m n) α) (Matrix.kroneckerMap.{u4, u4, u4, u2, u1, u3, u3} α α α l m n n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3951 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.3953 : α) => HMul.hMul.{u4, u4, u4} α α α (instHMul.{u4} α (MulZeroClass.toMul.{u4} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.3951 x._@.Mathlib.Data.Matrix.Kronecker._hyg.3953) A (Matrix.diagonal.{u4, u3} n α (fun (a : n) (b : n) => _inst_2 a b) (MulZeroClass.toZero.{u4} α _inst_1) b)) (Matrix.blockDiagonal.{u2, u1, u3, u4} l m n α (fun (a : n) (b : n) => _inst_2 a b) (MulZeroClass.toZero.{u4} α _inst_1) (fun (i : n) => HSMul.hSMul.{u4, max (max u4 u2) u1, max (max u4 u2) u1} (MulOpposite.{u4} α) (Matrix.{u2, u1, u4} l m α) (Matrix.{u2, u1, u4} l m α) (instHSMul.{u4, max (max u4 u2) u1} (MulOpposite.{u4} α) (Matrix.{u2, u1, u4} l m α) (Matrix.smul.{u4, u2, u1, u4} l m (MulOpposite.{u4} α) α (Mul.toHasOppositeSMul.{u4} α (MulZeroClass.toMul.{u4} α _inst_1)))) (MulOpposite.op.{u4} α (b i)) A))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_diagonal Matrix.kronecker_diagonalₓ'. -/
 theorem kronecker_diagonal [MulZeroClass α] [DecidableEq n] (A : Matrix l m α) (b : n → α) :
     A ⊗ₖ diagonal b = blockDiagonal fun i => MulOpposite.op (b i) • A :=
   kroneckerMap_diagonal_right _ MulZeroClass.mul_zero _ _
 #align matrix.kronecker_diagonal Matrix.kronecker_diagonal
 
+/- warning: matrix.diagonal_kronecker -> Matrix.diagonal_kronecker is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} [_inst_1 : MulZeroClass.{u1} α] [_inst_2 : DecidableEq.{succ u2} l] (a : l -> α) (B : Matrix.{u3, u4, u1} m n α), Eq.{succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u4} α α α l l m n (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1))) (Matrix.diagonal.{u1, u2} l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α _inst_1) a) B) (coeFn.{max 1 (max (succ (max (max u3 u2) (max u4 u2) u1)) (succ (max (max u2 u3) (max u2 u4) u1))) (succ (max (max u2 u3) (max u2 u4) u1)) (succ (max (max u3 u2) (max u4 u2) u1)), max (succ (max (max u3 u2) (max u4 u2) u1)) (succ (max (max u2 u3) (max u2 u4) u1))} (Equiv.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (fun (_x : Equiv.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) => (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) -> (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (Equiv.hasCoeToFun.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (Matrix.reindex.{u1, max u2 u3, max u3 u2, max u4 u2, max u2 u4} (Prod.{u2, u3} l m) (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) (Prod.{u2, u4} l n) α (Equiv.prodComm.{u3, u2} m l) (Equiv.prodComm.{u4, u2} n l)) (Matrix.blockDiagonal.{u3, u4, u2, u1} m n l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α _inst_1) (fun (i : l) => SMul.smul.{u1, max u3 u4 u1} α (Matrix.{u3, u4, u1} m n α) (Matrix.hasSmul.{u1, u3, u4, u1} m n α α (Mul.toSMul.{u1} α (MulZeroClass.toHasMul.{u1} α _inst_1))) (a i) B)))
+but is expected to have type
+  forall {α : Type.{u4}} {l : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} [_inst_1 : MulZeroClass.{u4} α] [_inst_2 : DecidableEq.{succ u3} l] (a : l -> α) (B : Matrix.{u2, u1, u4} m n α), Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u3, max u1 u3, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α) (Matrix.kroneckerMap.{u4, u4, u4, u3, u3, u2, u1} α α α l l m n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4025 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4027 : α) => HMul.hMul.{u4, u4, u4} α α α (instHMul.{u4} α (MulZeroClass.toMul.{u4} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4025 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4027) (Matrix.diagonal.{u4, u3} l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toZero.{u4} α _inst_1) a) B) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1)} (Equiv.{max (max (succ u4) (succ (max u3 u1))) (succ (max u3 u2)), max (max (succ u4) (succ (max u3 u1))) (succ (max u3 u2))} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α)) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (fun (_x : Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) => Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1)} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α)) (Matrix.reindex.{u4, max u3 u2, max u3 u2, max u3 u1, max u3 u1} (Prod.{u3, u2} l m) (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) (Prod.{u3, u1} l n) α (Equiv.prodComm.{u2, u3} m l) (Equiv.prodComm.{u1, u3} n l)) (Matrix.blockDiagonal.{u2, u1, u3, u4} m n l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toZero.{u4} α _inst_1) (fun (i : l) => HSMul.hSMul.{u4, max (max u4 u2) u1, max (max u4 u2) u1} α (Matrix.{u2, u1, u4} m n α) (Matrix.{u2, u1, u4} m n α) (instHSMul.{u4, max (max u4 u2) u1} α (Matrix.{u2, u1, u4} m n α) (Matrix.smul.{u4, u2, u1, u4} m n α α (SMulZeroClass.toSMul.{u4, u4} α α (MulZeroClass.toZero.{u4} α _inst_1) (SMulWithZero.toSMulZeroClass.{u4, u4} α α (MulZeroClass.toZero.{u4} α _inst_1) (MulZeroClass.toZero.{u4} α _inst_1) (MulZeroClass.toSMulWithZero.{u4} α _inst_1))))) (a i) B)))
+Case conversion may be inaccurate. Consider using '#align matrix.diagonal_kronecker Matrix.diagonal_kroneckerₓ'. -/
 theorem diagonal_kronecker [MulZeroClass α] [DecidableEq l] (a : l → α) (B : Matrix m n α) :
     diagonal a ⊗ₖ B =
       Matrix.reindex (Equiv.prodComm _ _) (Equiv.prodComm _ _) (blockDiagonal fun i => a i • B) :=
   kroneckerMap_diagonal_left _ MulZeroClass.zero_mul _ _
 #align matrix.diagonal_kronecker Matrix.diagonal_kronecker
 
+/- warning: matrix.one_kronecker_one -> Matrix.one_kronecker_one is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : Type.{u2}} {n : Type.{u3}} [_inst_1 : MulZeroOneClass.{u1} α] [_inst_2 : DecidableEq.{succ u2} m] [_inst_3 : DecidableEq.{succ u3} n], Eq.{succ (max (max u2 u3) u1)} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u2, u3} m n) (Prod.{u2, u3} m n) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u3} α α α m m n n (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)))) (OfNat.ofNat.{max u2 u1} (Matrix.{u2, u2, u1} m m α) 1 (OfNat.mk.{max u2 u1} (Matrix.{u2, u2, u1} m m α) 1 (One.one.{max u2 u1} (Matrix.{u2, u2, u1} m m α) (Matrix.hasOne.{u1, u2} m α (fun (a : m) (b : m) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)) (MulOneClass.toHasOne.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α _inst_1)))))) (OfNat.ofNat.{max u3 u1} (Matrix.{u3, u3, u1} n n α) 1 (OfNat.mk.{max u3 u1} (Matrix.{u3, u3, u1} n n α) 1 (One.one.{max u3 u1} (Matrix.{u3, u3, u1} n n α) (Matrix.hasOne.{u1, u3} n α (fun (a : n) (b : n) => _inst_3 a b) (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)) (MulOneClass.toHasOne.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α _inst_1))))))) (OfNat.ofNat.{max (max u2 u3) u1} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u2, u3} m n) (Prod.{u2, u3} m n) α) 1 (OfNat.mk.{max (max u2 u3) u1} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u2, u3} m n) (Prod.{u2, u3} m n) α) 1 (One.one.{max (max u2 u3) u1} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u2, u3} m n) (Prod.{u2, u3} m n) α) (Matrix.hasOne.{u1, max u2 u3} (Prod.{u2, u3} m n) α (fun (a : Prod.{u2, u3} m n) (b : Prod.{u2, u3} m n) => Prod.Lex.decidableEq.{u2, u3} m n (fun (a : m) (b : m) => _inst_2 a b) (fun (a : n) (b : n) => _inst_3 a b) a b) (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)) (MulOneClass.toHasOne.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α _inst_1))))))
+but is expected to have type
+  forall {α : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} [_inst_1 : MulZeroOneClass.{u3} α] [_inst_2 : DecidableEq.{succ u2} m] [_inst_3 : DecidableEq.{succ u1} n], Eq.{max (max (succ u3) (succ u2)) (succ u1)} (Matrix.{max u1 u2, max u1 u2, u3} (Prod.{u2, u1} m n) (Prod.{u2, u1} m n) α) (Matrix.kroneckerMap.{u3, u3, u3, u2, u2, u1, u1} α α α m m n n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4106 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4108 : α) => HMul.hMul.{u3, u3, u3} α α α (instHMul.{u3} α (MulZeroClass.toMul.{u3} α (MulZeroOneClass.toMulZeroClass.{u3} α _inst_1))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4106 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4108) (OfNat.ofNat.{max u3 u2} (Matrix.{u2, u2, u3} m m α) 1 (One.toOfNat1.{max u3 u2} (Matrix.{u2, u2, u3} m m α) (Matrix.one.{u3, u2} m α (fun (a : m) (b : m) => _inst_2 a b) (MulZeroOneClass.toZero.{u3} α _inst_1) (MulOneClass.toOne.{u3} α (MulZeroOneClass.toMulOneClass.{u3} α _inst_1))))) (OfNat.ofNat.{max u3 u1} (Matrix.{u1, u1, u3} n n α) 1 (One.toOfNat1.{max u3 u1} (Matrix.{u1, u1, u3} n n α) (Matrix.one.{u3, u1} n α (fun (a : n) (b : n) => _inst_3 a b) (MulZeroOneClass.toZero.{u3} α _inst_1) (MulOneClass.toOne.{u3} α (MulZeroOneClass.toMulOneClass.{u3} α _inst_1)))))) (OfNat.ofNat.{max (max u3 u2) u1} (Matrix.{max u1 u2, max u1 u2, u3} (Prod.{u2, u1} m n) (Prod.{u2, u1} m n) α) 1 (One.toOfNat1.{max (max u3 u2) u1} (Matrix.{max u1 u2, max u1 u2, u3} (Prod.{u2, u1} m n) (Prod.{u2, u1} m n) α) (Matrix.one.{u3, max u2 u1} (Prod.{u2, u1} m n) α (fun (a : Prod.{u2, u1} m n) (b : Prod.{u2, u1} m n) => instDecidableEqProd.{u2, u1} m n (fun (a : m) (b : m) => _inst_2 a b) (fun (a : n) (b : n) => _inst_3 a b) a b) (MulZeroOneClass.toZero.{u3} α _inst_1) (MulOneClass.toOne.{u3} α (MulZeroOneClass.toMulOneClass.{u3} α _inst_1)))))
+Case conversion may be inaccurate. Consider using '#align matrix.one_kronecker_one Matrix.one_kronecker_oneₓ'. -/
 @[simp]
 theorem one_kronecker_one [MulZeroOneClass α] [DecidableEq m] [DecidableEq n] :
     (1 : Matrix m m α) ⊗ₖ (1 : Matrix n n α) = 1 :=
   kroneckerMap_one_one _ MulZeroClass.zero_mul MulZeroClass.mul_zero (one_mul _)
 #align matrix.one_kronecker_one Matrix.one_kronecker_one
 
+/- warning: matrix.kronecker_one -> Matrix.kronecker_one is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} [_inst_1 : MulZeroOneClass.{u1} α] [_inst_2 : DecidableEq.{succ u4} n] (A : Matrix.{u2, u3, u1} l m α), Eq.{succ (max (max u2 u4) (max u3 u4) u1)} (Matrix.{max u2 u4, max u3 u4, u1} (Prod.{u2, u4} l n) (Prod.{u3, u4} m n) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u4} α α α l m n n (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)))) A (OfNat.ofNat.{max u4 u1} (Matrix.{u4, u4, u1} n n α) 1 (OfNat.mk.{max u4 u1} (Matrix.{u4, u4, u1} n n α) 1 (One.one.{max u4 u1} (Matrix.{u4, u4, u1} n n α) (Matrix.hasOne.{u1, u4} n α (fun (a : n) (b : n) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)) (MulOneClass.toHasOne.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α _inst_1))))))) (Matrix.blockDiagonal.{u2, u3, u4, u1} l m n α (fun (a : n) (b : n) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)) (fun (i : n) => A))
+but is expected to have type
+  forall {α : Type.{u4}} {l : Type.{u2}} {m : Type.{u1}} {n : Type.{u3}} [_inst_1 : MulZeroOneClass.{u4} α] [_inst_2 : DecidableEq.{succ u3} n] (A : Matrix.{u2, u1, u4} l m α), Eq.{max (max (max (succ u4) (succ u2)) (succ u1)) (succ u3)} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} l n) (Prod.{u1, u3} m n) α) (Matrix.kroneckerMap.{u4, u4, u4, u2, u1, u3, u3} α α α l m n n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4179 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4181 : α) => HMul.hMul.{u4, u4, u4} α α α (instHMul.{u4} α (MulZeroClass.toMul.{u4} α (MulZeroOneClass.toMulZeroClass.{u4} α _inst_1))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4179 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4181) A (OfNat.ofNat.{max u4 u3} (Matrix.{u3, u3, u4} n n α) 1 (One.toOfNat1.{max u4 u3} (Matrix.{u3, u3, u4} n n α) (Matrix.one.{u4, u3} n α (fun (a : n) (b : n) => _inst_2 a b) (MulZeroOneClass.toZero.{u4} α _inst_1) (MulOneClass.toOne.{u4} α (MulZeroOneClass.toMulOneClass.{u4} α _inst_1)))))) (Matrix.blockDiagonal.{u2, u1, u3, u4} l m n α (fun (a : n) (b : n) => _inst_2 a b) (MulZeroOneClass.toZero.{u4} α _inst_1) (fun (i : n) => A))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_one Matrix.kronecker_oneₓ'. -/
 theorem kronecker_one [MulZeroOneClass α] [DecidableEq n] (A : Matrix l m α) :
     A ⊗ₖ (1 : Matrix n n α) = blockDiagonal fun i => A :=
   (kronecker_diagonal _ _).trans <| congr_arg _ <| funext fun _ => Matrix.ext fun _ _ => mul_one _
 #align matrix.kronecker_one Matrix.kronecker_one
 
+/- warning: matrix.one_kronecker -> Matrix.one_kronecker is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} [_inst_1 : MulZeroOneClass.{u1} α] [_inst_2 : DecidableEq.{succ u2} l] (B : Matrix.{u3, u4, u1} m n α), Eq.{succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u4} α α α l l m n (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (MulZeroClass.toHasMul.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)))) (OfNat.ofNat.{max u2 u1} (Matrix.{u2, u2, u1} l l α) 1 (OfNat.mk.{max u2 u1} (Matrix.{u2, u2, u1} l l α) 1 (One.one.{max u2 u1} (Matrix.{u2, u2, u1} l l α) (Matrix.hasOne.{u1, u2} l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)) (MulOneClass.toHasOne.{u1} α (MulZeroOneClass.toMulOneClass.{u1} α _inst_1)))))) B) (coeFn.{max 1 (max (succ (max (max u3 u2) (max u4 u2) u1)) (succ (max (max u2 u3) (max u2 u4) u1))) (succ (max (max u2 u3) (max u2 u4) u1)) (succ (max (max u3 u2) (max u4 u2) u1)), max (succ (max (max u3 u2) (max u4 u2) u1)) (succ (max (max u2 u3) (max u2 u4) u1))} (Equiv.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (fun (_x : Equiv.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) => (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) -> (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (Equiv.hasCoeToFun.{succ (max (max u3 u2) (max u4 u2) u1), succ (max (max u2 u3) (max u2 u4) u1)} (Matrix.{max u3 u2, max u4 u2, u1} (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) α) (Matrix.{max u2 u3, max u2 u4, u1} (Prod.{u2, u3} l m) (Prod.{u2, u4} l n) α)) (Matrix.reindex.{u1, max u2 u3, max u3 u2, max u4 u2, max u2 u4} (Prod.{u2, u3} l m) (Prod.{u3, u2} m l) (Prod.{u4, u2} n l) (Prod.{u2, u4} l n) α (Equiv.prodComm.{u3, u2} m l) (Equiv.prodComm.{u4, u2} n l)) (Matrix.blockDiagonal.{u3, u4, u2, u1} m n l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroClass.toHasZero.{u1} α (MulZeroOneClass.toMulZeroClass.{u1} α _inst_1)) (fun (i : l) => B)))
+but is expected to have type
+  forall {α : Type.{u4}} {l : Type.{u3}} {m : Type.{u2}} {n : Type.{u1}} [_inst_1 : MulZeroOneClass.{u4} α] [_inst_2 : DecidableEq.{succ u3} l] (B : Matrix.{u2, u1, u4} m n α), Eq.{max (max (max (succ u4) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u3, max u1 u3, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α) (Matrix.kroneckerMap.{u4, u4, u4, u3, u3, u2, u1} α α α l l m n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4269 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4271 : α) => HMul.hMul.{u4, u4, u4} α α α (instHMul.{u4} α (MulZeroClass.toMul.{u4} α (MulZeroOneClass.toMulZeroClass.{u4} α _inst_1))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4269 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4271) (OfNat.ofNat.{max u4 u3} (Matrix.{u3, u3, u4} l l α) 1 (One.toOfNat1.{max u4 u3} (Matrix.{u3, u3, u4} l l α) (Matrix.one.{u4, u3} l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroOneClass.toZero.{u4} α _inst_1) (MulOneClass.toOne.{u4} α (MulZeroOneClass.toMulOneClass.{u4} α _inst_1))))) B) (FunLike.coe.{max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1)} (Equiv.{max (max (succ u4) (succ (max u3 u1))) (succ (max u3 u2)), max (max (succ u4) (succ (max u3 u1))) (succ (max u3 u2))} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α)) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (fun (_x : Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) => Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1), max (max (max (max (succ u4) (succ u3)) (succ u2)) (succ u3)) (succ u1)} (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) α) (Matrix.{max u3 u2, max u3 u1, u4} (Prod.{u3, u2} l m) (Prod.{u3, u1} l n) α)) (Matrix.reindex.{u4, max u3 u2, max u3 u2, max u3 u1, max u3 u1} (Prod.{u3, u2} l m) (Prod.{u2, u3} m l) (Prod.{u1, u3} n l) (Prod.{u3, u1} l n) α (Equiv.prodComm.{u2, u3} m l) (Equiv.prodComm.{u1, u3} n l)) (Matrix.blockDiagonal.{u2, u1, u3, u4} m n l α (fun (a : l) (b : l) => _inst_2 a b) (MulZeroOneClass.toZero.{u4} α _inst_1) (fun (i : l) => B)))
+Case conversion may be inaccurate. Consider using '#align matrix.one_kronecker Matrix.one_kroneckerₓ'. -/
 theorem one_kronecker [MulZeroOneClass α] [DecidableEq l] (B : Matrix m n α) :
     (1 : Matrix l l α) ⊗ₖ B =
       Matrix.reindex (Equiv.prodComm _ _) (Equiv.prodComm _ _) (blockDiagonal fun i => B) :=
@@ -363,23 +587,47 @@ theorem one_kronecker [MulZeroOneClass α] [DecidableEq l] (B : Matrix m n α) :
     congr_arg _ <| congr_arg _ <| funext fun _ => Matrix.ext fun _ _ => one_mul _
 #align matrix.one_kronecker Matrix.one_kronecker
 
+/- warning: matrix.mul_kronecker_mul -> Matrix.mul_kronecker_mul is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} {l' : Type.{u5}} {m' : Type.{u6}} {n' : Type.{u7}} [_inst_1 : Fintype.{u3} m] [_inst_2 : Fintype.{u6} m'] [_inst_3 : CommSemiring.{u1} α] (A : Matrix.{u2, u3, u1} l m α) (B : Matrix.{u3, u4, u1} m n α) (A' : Matrix.{u5, u6, u1} l' m' α) (B' : Matrix.{u6, u7, u1} m' n' α), Eq.{succ (max (max u2 u5) (max u4 u7) u1)} (Matrix.{max u2 u5, max u4 u7, u1} (Prod.{u2, u5} l l') (Prod.{u4, u7} n n') α) (Matrix.kroneckerMap.{u1, u1, u1, u2, u4, u5, u7} α α α l n l' n' (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3))))))) (Matrix.mul.{u1, u2, u3, u4} l m n α _inst_1 (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3)))) A B) (Matrix.mul.{u1, u5, u6, u7} l' m' n' α _inst_2 (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3)))) A' B')) (Matrix.mul.{u1, max u2 u5, max u3 u6, max u4 u7} (Prod.{u2, u5} l l') (Prod.{u3, u6} m m') (Prod.{u4, u7} n n') α (Prod.fintype.{u3, u6} m m' _inst_1 _inst_2) (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3)))) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u5, u6} α α α l m l' m' (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3))))))) A A') (Matrix.kroneckerMap.{u1, u1, u1, u3, u4, u6, u7} α α α m n m' n' (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α (CommSemiring.toSemiring.{u1} α _inst_3))))))) B B'))
+but is expected to have type
+  forall {α : Type.{u5}} {l : Type.{u4}} {m : Type.{u7}} {n : Type.{u3}} {l' : Type.{u2}} {m' : Type.{u6}} {n' : Type.{u1}} [_inst_1 : Fintype.{u7} m] [_inst_2 : Fintype.{u6} m'] [_inst_3 : CommSemiring.{u5} α] (A : Matrix.{u4, u7, u5} l m α) (B : Matrix.{u7, u3, u5} m n α) (A' : Matrix.{u2, u6, u5} l' m' α) (B' : Matrix.{u6, u1, u5} m' n' α), Eq.{max (max (max (max (succ u5) (succ u4)) (succ u3)) (succ u2)) (succ u1)} (Matrix.{max u2 u4, max u1 u3, u5} (Prod.{u4, u2} l l') (Prod.{u3, u1} n n') α) (Matrix.kroneckerMap.{u5, u5, u5, u4, u3, u2, u1} α α α l n l' n' (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4392 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4394 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (NonUnitalNonAssocSemiring.toMul.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3))))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4392 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4394) (Matrix.mul.{u5, u4, u7, u3} l m n α _inst_1 (NonUnitalNonAssocSemiring.toMul.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3)))) A B) (Matrix.mul.{u5, u2, u6, u1} l' m' n' α _inst_2 (NonUnitalNonAssocSemiring.toMul.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3)))) A' B')) (Matrix.mul.{u5, max u2 u4, max u6 u7, max u1 u3} (Prod.{u4, u2} l l') (Prod.{u7, u6} m m') (Prod.{u3, u1} n n') α (instFintypeProd.{u7, u6} m m' _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toMul.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3)))) (Matrix.kroneckerMap.{u5, u5, u5, u4, u7, u2, u6} α α α l m l' m' (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4427 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4429 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (NonUnitalNonAssocSemiring.toMul.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3))))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4427 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4429) A A') (Matrix.kroneckerMap.{u5, u5, u5, u7, u3, u6, u1} α α α m n m' n' (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4448 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4450 : α) => HMul.hMul.{u5, u5, u5} α α α (instHMul.{u5} α (NonUnitalNonAssocSemiring.toMul.{u5} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u5} α (Semiring.toNonAssocSemiring.{u5} α (CommSemiring.toSemiring.{u5} α _inst_3))))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4448 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4450) B B'))
+Case conversion may be inaccurate. Consider using '#align matrix.mul_kronecker_mul Matrix.mul_kronecker_mulₓ'. -/
 theorem mul_kronecker_mul [Fintype m] [Fintype m'] [CommSemiring α] (A : Matrix l m α)
     (B : Matrix m n α) (A' : Matrix l' m' α) (B' : Matrix m' n' α) :
     (A ⬝ B) ⊗ₖ (A' ⬝ B') = A ⊗ₖ A' ⬝ B ⊗ₖ B' :=
   kroneckerMapBilinear_mul_mul (Algebra.lmul ℕ α).toLinearMap mul_mul_mul_comm A B A' B'
 #align matrix.mul_kronecker_mul Matrix.mul_kronecker_mul
 
+/- warning: matrix.kronecker_assoc -> Matrix.kronecker_assoc is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {l : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} {p : Type.{u5}} {q : Type.{u6}} {r : Type.{u7}} [_inst_1 : Semigroup.{u1} α] (A : Matrix.{u2, u3, u1} l m α) (B : Matrix.{u4, u5, u1} n p α) (C : Matrix.{u6, u7, u1} q r α), Eq.{succ (max (max u2 u4 u6) (max u3 u5 u7) u1)} (Matrix.{max u2 u4 u6, max u3 u5 u7, u1} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α) (coeFn.{max 1 (max (succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1)) (succ (max (max u2 u4 u6) (max u3 u5 u7) u1))) (succ (max (max u2 u4 u6) (max u3 u5 u7) u1)) (succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1)), max (succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1)) (succ (max (max u2 u4 u6) (max u3 u5 u7) u1))} (Equiv.{succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1), succ (max (max u2 u4 u6) (max u3 u5 u7) u1)} (Matrix.{max (max u2 u4) u6, max (max u3 u5) u7, u1} (Prod.{max u2 u4, u6} (Prod.{u2, u4} l n) q) (Prod.{max u3 u5, u7} (Prod.{u3, u5} m p) r) α) (Matrix.{max u2 u4 u6, max u3 u5 u7, u1} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α)) (fun (_x : Equiv.{succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1), succ (max (max u2 u4 u6) (max u3 u5 u7) u1)} (Matrix.{max (max u2 u4) u6, max (max u3 u5) u7, u1} (Prod.{max u2 u4, u6} (Prod.{u2, u4} l n) q) (Prod.{max u3 u5, u7} (Prod.{u3, u5} m p) r) α) (Matrix.{max u2 u4 u6, max u3 u5 u7, u1} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α)) => (Matrix.{max (max u2 u4) u6, max (max u3 u5) u7, u1} (Prod.{max u2 u4, u6} (Prod.{u2, u4} l n) q) (Prod.{max u3 u5, u7} (Prod.{u3, u5} m p) r) α) -> (Matrix.{max u2 u4 u6, max u3 u5 u7, u1} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α)) (Equiv.hasCoeToFun.{succ (max (max (max u2 u4) u6) (max (max u3 u5) u7) u1), succ (max (max u2 u4 u6) (max u3 u5 u7) u1)} (Matrix.{max (max u2 u4) u6, max (max u3 u5) u7, u1} (Prod.{max u2 u4, u6} (Prod.{u2, u4} l n) q) (Prod.{max u3 u5, u7} (Prod.{u3, u5} m p) r) α) (Matrix.{max u2 u4 u6, max u3 u5 u7, u1} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α)) (Matrix.reindex.{u1, max u2 u4 u6, max (max u2 u4) u6, max (max u3 u5) u7, max u3 u5 u7} (Prod.{u2, max u4 u6} l (Prod.{u4, u6} n q)) (Prod.{max u2 u4, u6} (Prod.{u2, u4} l n) q) (Prod.{max u3 u5, u7} (Prod.{u3, u5} m p) r) (Prod.{u3, max u5 u7} m (Prod.{u5, u7} p r)) α (Equiv.prodAssoc.{u2, u4, u6} l n q) (Equiv.prodAssoc.{u3, u5, u7} m p r)) (Matrix.kroneckerMap.{u1, u1, u1, max u2 u4, max u3 u5, u6, u7} α α α (Prod.{u2, u4} l n) (Prod.{u3, u5} m p) q r (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Semigroup.toHasMul.{u1} α _inst_1))) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, u4, u5} α α α l m n p (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Semigroup.toHasMul.{u1} α _inst_1))) A B) C)) (Matrix.kroneckerMap.{u1, u1, u1, u2, u3, max u4 u6, max u5 u7} α α α l m (Prod.{u4, u6} n q) (Prod.{u5, u7} p r) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Semigroup.toHasMul.{u1} α _inst_1))) A (Matrix.kroneckerMap.{u1, u1, u1, u4, u5, u6, u7} α α α n p q r (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Semigroup.toHasMul.{u1} α _inst_1))) B C))
+but is expected to have type
+  forall {α : Type.{u7}} {l : Type.{u6}} {m : Type.{u5}} {n : Type.{u4}} {p : Type.{u3}} {q : Type.{u2}} {r : Type.{u1}} [_inst_1 : Semigroup.{u7} α] (A : Matrix.{u6, u5, u7} l m α) (B : Matrix.{u4, u3, u7} n p α) (C : Matrix.{u2, u1, u7} q r α), Eq.{max (max (max (max (max (max (succ u7) (succ u6)) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) => Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α) (Matrix.kroneckerMap.{u7, u7, u7, max u6 u4, max u5 u3, u2, u1} α α α (Prod.{u6, u4} l n) (Prod.{u5, u3} m p) q r (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4536 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4538 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4536 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4538) (Matrix.kroneckerMap.{u7, u7, u7, u6, u5, u4, u3} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4555 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4557 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4555 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4557) A B) C)) (FunLike.coe.{max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7), max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7), max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7)} (Equiv.{max (max (succ u7) (succ (max (max u5 u3) u1))) (succ (max (max u6 u4) u2)), max (max (succ u7) (succ (max (max u5 u3) u1))) (succ (max (max u6 u4) u2))} (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α)) (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) (fun (_x : Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) => Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7), max (max (max (max (max (max (succ u6) (succ u5)) (succ u4)) (succ u3)) (succ u2)) (succ u1)) (succ u7)} (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) α) (Matrix.{max (max u6 u4) u2, max (max u5 u3) u1, u7} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α)) (Matrix.reindex.{u7, max (max u6 u4) u2, max (max u6 u4) u2, max (max u5 u3) u1, max (max u5 u3) u1} (Prod.{u6, max u2 u4} l (Prod.{u4, u2} n q)) (Prod.{max u4 u6, u2} (Prod.{u6, u4} l n) q) (Prod.{max u3 u5, u1} (Prod.{u5, u3} m p) r) (Prod.{u5, max u1 u3} m (Prod.{u3, u1} p r)) α (Equiv.prodAssoc.{u6, u4, u2} l n q) (Equiv.prodAssoc.{u5, u3, u1} m p r)) (Matrix.kroneckerMap.{u7, u7, u7, max u6 u4, max u5 u3, u2, u1} α α α (Prod.{u6, u4} l n) (Prod.{u5, u3} m p) q r (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4536 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4538 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4536 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4538) (Matrix.kroneckerMap.{u7, u7, u7, u6, u5, u4, u3} α α α l m n p (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4555 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4557 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4555 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4557) A B) C)) (Matrix.kroneckerMap.{u7, u7, u7, u6, u5, max u2 u4, max u1 u3} α α α l m (Prod.{u4, u2} n q) (Prod.{u3, u1} p r) (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4576 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4578 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4576 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4578) A (Matrix.kroneckerMap.{u7, u7, u7, u4, u3, u2, u1} α α α n p q r (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4598 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4600 : α) => HMul.hMul.{u7, u7, u7} α α α (instHMul.{u7} α (Semigroup.toMul.{u7} α _inst_1)) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4598 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4600) B C))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_assoc Matrix.kronecker_assocₓ'. -/
 @[simp]
 theorem kronecker_assoc [Semigroup α] (A : Matrix l m α) (B : Matrix n p α) (C : Matrix q r α) :
     reindex (Equiv.prodAssoc l n q) (Equiv.prodAssoc m p r) (A ⊗ₖ B ⊗ₖ C) = A ⊗ₖ (B ⊗ₖ C) :=
   kroneckerMap_assoc₁ _ _ _ _ A B C mul_assoc
 #align matrix.kronecker_assoc Matrix.kronecker_assoc
 
+/- warning: matrix.trace_kronecker -> Matrix.trace_kronecker is a dubious translation:
+lean 3 declaration is
+  forall {α : Type.{u1}} {m : Type.{u2}} {n : Type.{u3}} [_inst_1 : Fintype.{u2} m] [_inst_2 : Fintype.{u3} n] [_inst_3 : Semiring.{u1} α] (A : Matrix.{u2, u2, u1} m m α) (B : Matrix.{u3, u3, u1} n n α), Eq.{succ u1} α (Matrix.trace.{max u2 u3, u1} (Prod.{u2, u3} m n) α (Prod.fintype.{u2, u3} m n _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3))) (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u3} α α α m m n n (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3)))))) A B)) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (Distrib.toHasMul.{u1} α (NonUnitalNonAssocSemiring.toDistrib.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3))))) (Matrix.trace.{u2, u1} m α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3))) A) (Matrix.trace.{u3, u1} n α _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3))) B))
+but is expected to have type
+  forall {α : Type.{u1}} {m : Type.{u3}} {n : Type.{u2}} [_inst_1 : Fintype.{u3} m] [_inst_2 : Fintype.{u2} n] [_inst_3 : Semiring.{u1} α] (A : Matrix.{u3, u3, u1} m m α) (B : Matrix.{u2, u2, u1} n n α), Eq.{succ u1} α (Matrix.trace.{max u2 u3, u1} (Prod.{u3, u2} m n) α (instFintypeProd.{u3, u2} m n _inst_1 _inst_2) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3))) (Matrix.kroneckerMap.{u1, u1, u1, u3, u3, u2, u2} α α α m m n n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4817 : α) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4819 : α) => HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3)))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4817 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4819) A B)) (HMul.hMul.{u1, u1, u1} α α α (instHMul.{u1} α (NonUnitalNonAssocSemiring.toMul.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3)))) (Matrix.trace.{u3, u1} m α _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3))) A) (Matrix.trace.{u2, u1} n α _inst_2 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} α (Semiring.toNonAssocSemiring.{u1} α _inst_3))) B))
+Case conversion may be inaccurate. Consider using '#align matrix.trace_kronecker Matrix.trace_kroneckerₓ'. -/
 theorem trace_kronecker [Fintype m] [Fintype n] [Semiring α] (A : Matrix m m α) (B : Matrix n n α) :
     trace (A ⊗ₖ B) = trace A * trace B :=
   trace_kroneckerMapBilinear (Algebra.lmul ℕ α).toLinearMap _ _
 #align matrix.trace_kronecker Matrix.trace_kronecker
 
+/- warning: matrix.det_kronecker -> Matrix.det_kronecker is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {m : Type.{u2}} {n : Type.{u3}} [_inst_1 : Fintype.{u2} m] [_inst_2 : Fintype.{u3} n] [_inst_3 : DecidableEq.{succ u2} m] [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : CommRing.{u1} R] (A : Matrix.{u2, u2, u1} m m R) (B : Matrix.{u3, u3, u1} n n R), Eq.{succ u1} R (Matrix.det.{u1, max u2 u3} (Prod.{u2, u3} m n) (fun (a : Prod.{u2, u3} m n) (b : Prod.{u2, u3} m n) => Prod.Lex.decidableEq.{u2, u3} m n (fun (a : m) (b : m) => _inst_3 a b) (fun (a : n) (b : n) => _inst_4 a b) a b) (Prod.fintype.{u2, u3} m n _inst_1 _inst_2) R _inst_5 (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u3} R R R m m n n (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_5))))) A B)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_5)))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_5)))) (Matrix.det.{u1, u2} m (fun (a : m) (b : m) => _inst_3 a b) _inst_1 R _inst_5 A) (Fintype.card.{u3} n _inst_2)) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (Ring.toMonoid.{u1} R (CommRing.toRing.{u1} R _inst_5)))) (Matrix.det.{u1, u3} n (fun (a : n) (b : n) => _inst_4 a b) _inst_2 R _inst_5 B) (Fintype.card.{u2} m _inst_1)))
+but is expected to have type
+  forall {R : Type.{u1}} {m : Type.{u3}} {n : Type.{u2}} [_inst_1 : Fintype.{u3} m] [_inst_2 : Fintype.{u2} n] [_inst_3 : DecidableEq.{succ u3} m] [_inst_4 : DecidableEq.{succ u2} n] [_inst_5 : CommRing.{u1} R] (A : Matrix.{u3, u3, u1} m m R) (B : Matrix.{u2, u2, u1} n n R), Eq.{succ u1} R (Matrix.det.{u1, max u2 u3} (Prod.{u3, u2} m n) (fun (a : Prod.{u3, u2} m n) (b : Prod.{u3, u2} m n) => instDecidableEqProd.{u3, u2} m n (fun (a : m) (b : m) => _inst_3 a b) (fun (a : n) (b : n) => _inst_4 a b) a b) (instFintypeProd.{u3, u2} m n _inst_1 _inst_2) R _inst_5 (Matrix.kroneckerMap.{u1, u1, u1, u3, u3, u2, u2} R R R m m n n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4902 : R) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.4904 : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_5))))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.4902 x._@.Mathlib.Data.Matrix.Kronecker._hyg.4904) A B)) (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_5))))) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_5)))))) (Matrix.det.{u1, u3} m (fun (a : m) (b : m) => _inst_3 a b) _inst_1 R _inst_5 A) (Fintype.card.{u2} n _inst_2)) (HPow.hPow.{u1, 0, u1} R Nat R (instHPow.{u1, 0} R Nat (Monoid.Pow.{u1} R (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R (CommRing.toCommSemiring.{u1} R _inst_5)))))) (Matrix.det.{u1, u2} n (fun (a : n) (b : n) => _inst_4 a b) _inst_2 R _inst_5 B) (Fintype.card.{u3} m _inst_1)))
+Case conversion may be inaccurate. Consider using '#align matrix.det_kronecker Matrix.det_kroneckerₓ'. -/
 theorem det_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [CommRing R]
     (A : Matrix m m R) (B : Matrix n n R) :
     det (A ⊗ₖ B) = det A ^ Fintype.card n * det B ^ Fintype.card m :=
@@ -392,6 +640,12 @@ theorem det_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [C
     exact one_mul _
 #align matrix.det_kronecker Matrix.det_kronecker
 
+/- warning: matrix.inv_kronecker -> Matrix.inv_kronecker is a dubious translation:
+lean 3 declaration is
+  forall {R : Type.{u1}} {m : Type.{u2}} {n : Type.{u3}} [_inst_1 : Fintype.{u2} m] [_inst_2 : Fintype.{u3} n] [_inst_3 : DecidableEq.{succ u2} m] [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : CommRing.{u1} R] (A : Matrix.{u2, u2, u1} m m R) (B : Matrix.{u3, u3, u1} n n R), Eq.{succ (max (max u2 u3) u1)} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u2, u3} m n) (Prod.{u2, u3} m n) R) (Inv.inv.{max (max u2 u3) u1} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u2, u3} m n) (Prod.{u2, u3} m n) R) (Matrix.hasInv.{max u2 u3, u1} (Prod.{u2, u3} m n) R (Prod.fintype.{u2, u3} m n _inst_1 _inst_2) (fun (a : Prod.{u2, u3} m n) (b : Prod.{u2, u3} m n) => Prod.Lex.decidableEq.{u2, u3} m n (fun (a : m) (b : m) => _inst_3 a b) (fun (a : n) (b : n) => _inst_4 a b) a b) _inst_5) (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u3} R R R m m n n (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_5))))) A B)) (Matrix.kroneckerMap.{u1, u1, u1, u2, u2, u3, u3} R R R m m n n (HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (Distrib.toHasMul.{u1} R (Ring.toDistrib.{u1} R (CommRing.toRing.{u1} R _inst_5))))) (Inv.inv.{max u2 u1} (Matrix.{u2, u2, u1} m m R) (Matrix.hasInv.{u2, u1} m R _inst_1 (fun (a : m) (b : m) => _inst_3 a b) _inst_5) A) (Inv.inv.{max u3 u1} (Matrix.{u3, u3, u1} n n R) (Matrix.hasInv.{u3, u1} n R _inst_2 (fun (a : n) (b : n) => _inst_4 a b) _inst_5) B))
+but is expected to have type
+  forall {R : Type.{u1}} {m : Type.{u3}} {n : Type.{u2}} [_inst_1 : Fintype.{u3} m] [_inst_2 : Fintype.{u2} n] [_inst_3 : DecidableEq.{succ u3} m] [_inst_4 : DecidableEq.{succ u2} n] [_inst_5 : CommRing.{u1} R] (A : Matrix.{u3, u3, u1} m m R) (B : Matrix.{u2, u2, u1} n n R), Eq.{max (max (succ u1) (succ u3)) (succ u2)} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u3, u2} m n) (Prod.{u3, u2} m n) R) (Inv.inv.{max (max u2 u3) u1} (Matrix.{max u2 u3, max u2 u3, u1} (Prod.{u3, u2} m n) (Prod.{u3, u2} m n) R) (Matrix.inv.{max u3 u2, u1} (Prod.{u3, u2} m n) R (instFintypeProd.{u3, u2} m n _inst_1 _inst_2) (fun (a : Prod.{u3, u2} m n) (b : Prod.{u3, u2} m n) => instDecidableEqProd.{u3, u2} m n (fun (a : m) (b : m) => _inst_3 a b) (fun (a : n) (b : n) => _inst_4 a b) a b) _inst_5) (Matrix.kroneckerMap.{u1, u1, u1, u3, u3, u2, u2} R R R m m n n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.5021 : R) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.5023 : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_5))))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.5021 x._@.Mathlib.Data.Matrix.Kronecker._hyg.5023) A B)) (Matrix.kroneckerMap.{u1, u1, u1, u3, u3, u2, u2} R R R m m n n (fun (x._@.Mathlib.Data.Matrix.Kronecker._hyg.5041 : R) (x._@.Mathlib.Data.Matrix.Kronecker._hyg.5043 : R) => HMul.hMul.{u1, u1, u1} R R R (instHMul.{u1} R (NonUnitalNonAssocRing.toMul.{u1} R (NonAssocRing.toNonUnitalNonAssocRing.{u1} R (Ring.toNonAssocRing.{u1} R (CommRing.toRing.{u1} R _inst_5))))) x._@.Mathlib.Data.Matrix.Kronecker._hyg.5041 x._@.Mathlib.Data.Matrix.Kronecker._hyg.5043) (Inv.inv.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.inv.{u3, u1} m R _inst_1 (fun (a : m) (b : m) => _inst_3 a b) _inst_5) A) (Inv.inv.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.inv.{u2, u1} n R _inst_2 (fun (a : n) (b : n) => _inst_4 a b) _inst_5) B))
+Case conversion may be inaccurate. Consider using '#align matrix.inv_kronecker Matrix.inv_kroneckerₓ'. -/
 theorem inv_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [CommRing R]
     (A : Matrix m m R) (B : Matrix n n R) : (A ⊗ₖ B)⁻¹ = A⁻¹ ⊗ₖ B⁻¹ :=
   by
@@ -439,12 +693,14 @@ variable [CommSemiring R] [AddCommMonoid α] [AddCommMonoid β] [AddCommMonoid 
 
 variable [Module R α] [Module R β] [Module R γ]
 
+#print Matrix.kroneckerTMul /-
 /-- The Kronecker tensor product. This is just a shorthand for `kronecker_map (⊗ₜ)`.
 Prefer the notation `⊗ₖₜ` rather than this definition. -/
 @[simp]
-def kroneckerTmul : Matrix l m α → Matrix n p β → Matrix (l × n) (m × p) (α ⊗[R] β) :=
+def kroneckerTMul : Matrix l m α → Matrix n p β → Matrix (l × n) (m × p) (α ⊗[R] β) :=
   kroneckerMap (· ⊗ₜ ·)
-#align matrix.kronecker_tmul Matrix.kroneckerTmul
+#align matrix.kronecker_tmul Matrix.kroneckerTMul
+-/
 
 -- mathport name: matrix.kronecker_map.tmul
 scoped[Kronecker] infixl:100 " ⊗ₖₜ " => Matrix.kroneckerMap (· ⊗ₜ ·)
@@ -453,81 +709,159 @@ scoped[Kronecker] infixl:100 " ⊗ₖₜ " => Matrix.kroneckerMap (· ⊗ₜ ·)
 scoped[Kronecker]
   notation:100 x " ⊗ₖₜ[" R "] " y:100 => Matrix.kroneckerMap (TensorProduct.tmul R) x y
 
+/- warning: matrix.kronecker_tmul_apply -> Matrix.kroneckerTMul_apply is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_3 : AddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] (A : Matrix.{u4, u5, u2} l m α) (B : Matrix.{u6, u7, u3} n p β) (i₁ : l) (i₂ : n) (j₁ : m) (j₂ : p), Eq.{succ (max u2 u3)} (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u4, u5, u6, u7} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (fun (_x : α) (_y : β) => TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6 _x _y) A B (Prod.mk.{u4, u6} l n i₁ i₂) (Prod.mk.{u5, u7} m p j₁ j₂)) (TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6 (A i₁ j₁) (B i₂ j₂))
+but is expected to have type
+  forall (R : Type.{u1}) {α : Type.{u5}} {β : Type.{u2}} {l : Type.{u7}} {m : Type.{u6}} {n : Type.{u4}} {p : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u5} α] [_inst_3 : AddCommMonoid.{u2} β] [_inst_5 : Module.{u1, u5} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u2} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] (A : Matrix.{u7, u6, u5} l m α) (B : Matrix.{u4, u3, u2} n p β) (i₁ : l) (i₂ : n) (j₁ : m) (j₂ : p), Eq.{max (succ u5) (succ u2)} (TensorProduct.{u1, u5, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (Matrix.kroneckerMap.{u5, u2, max u2 u5, u7, u6, u4, u3} α β (TensorProduct.{u1, u5, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (fun (_x : α) (_y : β) => TensorProduct.tmul.{u1, u5, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6 _x _y) A B (Prod.mk.{u7, u4} l n i₁ i₂) (Prod.mk.{u6, u3} m p j₁ j₂)) (TensorProduct.tmul.{u1, u5, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6 (A i₁ j₁) (B i₂ j₂))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_apply Matrix.kroneckerTMul_applyₓ'. -/
 @[simp]
-theorem kronecker_tmul_apply (A : Matrix l m α) (B : Matrix n p β) (i₁ i₂ j₁ j₂) :
+theorem kroneckerTMul_apply (A : Matrix l m α) (B : Matrix n p β) (i₁ i₂ j₁ j₂) :
     (A ⊗ₖₜ B) (i₁, i₂) (j₁, j₂) = A i₁ j₁ ⊗ₜ[R] B i₂ j₂ :=
   rfl
-#align matrix.kronecker_tmul_apply Matrix.kronecker_tmul_apply
-
+#align matrix.kronecker_tmul_apply Matrix.kroneckerTMul_apply
+
+/- warning: matrix.kronecker_tmul_bilinear -> Matrix.kroneckerTMulBilinear is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_3 : AddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3], LinearMap.{u1, u1, max u4 u5 u2, max (max u6 u7 u3) (max u4 u6) (max u5 u7) u2 u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u4, u5, u2} l m α) (LinearMap.{u1, u1, max u6 u7 u3, max (max u4 u6) (max u5 u7) u2 u3} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u7, u3} n p β) (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.addCommMonoid.{u3, u6, u7} n p β _inst_3) (Matrix.addCommMonoid.{max u2 u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.module.{u3, u6, u7, u1} n p R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 _inst_6) (Matrix.module.{max u2 u3, max u4 u6, max u5 u7, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6))) (Matrix.addCommMonoid.{u2, u4, u5} l m α _inst_2) (LinearMap.addCommMonoid.{u1, u1, max u6 u7 u3, max (max u4 u6) (max u5 u7) u2 u3} R R (Matrix.{u6, u7, u3} n p β) (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u7} n p β _inst_3) (Matrix.addCommMonoid.{max u2 u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.module.{u3, u6, u7, u1} n p R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 _inst_6) (Matrix.module.{max u2 u3, max u4 u6, max u5 u7, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u4, u5, u1} l m R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_5) (LinearMap.module.{u1, u1, u1, max u6 u7 u3, max (max u4 u6) (max u5 u7) u2 u3} R R R (Matrix.{u6, u7, u3} n p β) (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u7} n p β _inst_3) (Matrix.addCommMonoid.{max u2 u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.module.{u3, u6, u7, u1} n p R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 _inst_6) (Matrix.module.{max u2 u3, max u4 u6, max u5 u7, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{max u2 u3, max u4 u6, max u5 u7, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.kroneckerTMulBilinear._proof_1.{u1, u6, u7, u2, u3, u4, u5} R α β l m n p _inst_1 _inst_2 _inst_3 _inst_5 _inst_6))
+but is expected to have type
+  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_3 : AddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3], LinearMap.{u1, u1, max (max u2 u5) u4, max (max (max (max u3 u2) u7 u5) u6 u4) (max u3 u7) u6} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u4, u5, u2} l m α) (LinearMap.{u1, u1, max (max u3 u7) u6, max (max (max u3 u2) u7 u5) u6 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.{u6, u7, u3} n p β) (Matrix.{max u6 u4, max u7 u5, max u3 u2} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.addCommMonoid.{u3, u6, u7} n p β _inst_3) (Matrix.addCommMonoid.{max u2 u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.module.{u3, u6, u7, u1} n p R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 _inst_6) (Matrix.module.{max u2 u3, max u4 u6, max u5 u7, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6))) (Matrix.addCommMonoid.{u2, u4, u5} l m α _inst_2) (LinearMap.addCommMonoid.{u1, u1, max (max u3 u6) u7, max (max (max (max (max u2 u3) u4) u5) u6) u7} R R (Matrix.{u6, u7, u3} n p β) (Matrix.{max u6 u4, max u7 u5, max u3 u2} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u7} n p β _inst_3) (Matrix.addCommMonoid.{max u2 u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.module.{u3, u6, u7, u1} n p R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 _inst_6) (Matrix.module.{max u2 u3, max u4 u6, max u5 u7, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u4, u5, u1} l m R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_5) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max (max u3 u6) u7, max (max (max (max (max u2 u3) u4) u5) u6) u7} R R R (Matrix.{u6, u7, u3} n p β) (Matrix.{max u6 u4, max u7 u5, max u3 u2} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u3, u6, u7} n p β _inst_3) (Matrix.addCommMonoid.{max u2 u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.module.{u3, u6, u7, u1} n p R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 _inst_6) (Matrix.module.{max u2 u3, max u4 u6, max u5 u7, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{max u2 u3, max u4 u6, max u5 u7, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.smulCommClass.{max u2 u3, max u4 u6, max u5 u7, u1, u1} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) R R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.instSMulTensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.instSMulTensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (smulCommClass_self.{u1, max u2 u3} R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, max u2 u3} R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{max u2 u3} (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (AddCommMonoid.toAddMonoid.{max u2 u3} (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6))) (Module.toMulActionWithZero.{u1, max u2 u3} R (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6))))))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_bilinear Matrix.kroneckerTMulBilinearₓ'. -/
 /-- `matrix.kronecker` as a bilinear map. -/
-def kroneckerTmulBilinear :
+def kroneckerTMulBilinear :
     Matrix l m α →ₗ[R] Matrix n p β →ₗ[R] Matrix (l × n) (m × p) (α ⊗[R] β) :=
   kroneckerMapBilinear (TensorProduct.mk R α β)
-#align matrix.kronecker_tmul_bilinear Matrix.kroneckerTmulBilinear
+#align matrix.kronecker_tmul_bilinear Matrix.kroneckerTMulBilinear
 
 /-! What follows is a copy, in order, of every `matrix.kronecker_map` lemma above that has
 hypotheses which can be filled by properties of `⊗ₜ`. -/
 
 
+/- warning: matrix.zero_kronecker_tmul -> Matrix.zero_kroneckerTMul is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_3 : AddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] (B : Matrix.{u6, u7, u3} n p β), Eq.{succ (max (max u4 u6) (max u5 u7) u2 u3)} (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u4, u5, u6, u7} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (OfNat.ofNat.{max u4 u5 u2} (Matrix.{u4, u5, u2} l m α) 0 (OfNat.mk.{max u4 u5 u2} (Matrix.{u4, u5, u2} l m α) 0 (Zero.zero.{max u4 u5 u2} (Matrix.{u4, u5, u2} l m α) (Matrix.hasZero.{u2, u4, u5} l m α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))))))) B) (OfNat.ofNat.{max (max u4 u6) (max u5 u7) u2 u3} (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) 0 (OfNat.mk.{max (max u4 u6) (max u5 u7) u2 u3} (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) 0 (Zero.zero.{max (max u4 u6) (max u5 u7) u2 u3} (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.hasZero.{max u2 u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (AddZeroClass.toHasZero.{max u2 u3} (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addZeroClass.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6))))))
+but is expected to have type
+  forall (R : Type.{u1}) {α : Type.{u4}} {β : Type.{u5}} {l : Type.{u3}} {m : Type.{u2}} {n : Type.{u7}} {p : Type.{u6}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u4} α] [_inst_3 : AddCommMonoid.{u5} β] [_inst_5 : Module.{u1, u4} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u5} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] (B : Matrix.{u7, u6, u5} n p β), Eq.{max (max (max (max (max (succ u4) (succ u5)) (succ u3)) (succ u2)) (succ u7)) (succ u6)} (Matrix.{max u7 u3, max u6 u2, max u5 u4} (Prod.{u3, u7} l n) (Prod.{u2, u6} m p) (TensorProduct.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.kroneckerMap.{u4, u5, max u5 u4, u3, u2, u7, u6} α β (TensorProduct.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (OfNat.ofNat.{max (max u4 u3) u2} (Matrix.{u3, u2, u4} l m α) 0 (Zero.toOfNat0.{max (max u4 u3) u2} (Matrix.{u3, u2, u4} l m α) (Matrix.zero.{u4, u3, u2} l m α (AddMonoid.toZero.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2))))) B) (OfNat.ofNat.{max (max (max (max (max u4 u5) u3) u2) u7) u6} (Matrix.{max u7 u3, max u6 u2, max u5 u4} (Prod.{u3, u7} l n) (Prod.{u2, u6} m p) (TensorProduct.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) 0 (Zero.toOfNat0.{max (max (max (max (max u4 u5) u3) u2) u7) u6} (Matrix.{max u7 u3, max u6 u2, max u5 u4} (Prod.{u3, u7} l n) (Prod.{u2, u6} m p) (TensorProduct.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.zero.{max u4 u5, max u3 u7, max u2 u6} (Prod.{u3, u7} l n) (Prod.{u2, u6} m p) (TensorProduct.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (AddMonoid.toZero.{max u4 u5} (TensorProduct.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (AddCommMonoid.toAddMonoid.{max u4 u5} (TensorProduct.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u4, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6))))))
+Case conversion may be inaccurate. Consider using '#align matrix.zero_kronecker_tmul Matrix.zero_kroneckerTMulₓ'. -/
 @[simp]
-theorem zero_kronecker_tmul (B : Matrix n p β) : (0 : Matrix l m α) ⊗ₖₜ[R] B = 0 :=
+theorem zero_kroneckerTMul (B : Matrix n p β) : (0 : Matrix l m α) ⊗ₖₜ[R] B = 0 :=
   kroneckerMap_zero_left _ (zero_tmul α) B
-#align matrix.zero_kronecker_tmul Matrix.zero_kronecker_tmul
-
+#align matrix.zero_kronecker_tmul Matrix.zero_kroneckerTMul
+
+/- warning: matrix.kronecker_tmul_zero -> Matrix.kroneckerTMul_zero is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_3 : AddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] (A : Matrix.{u4, u5, u2} l m α), Eq.{succ (max (max u4 u6) (max u5 u7) u2 u3)} (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u4, u5, u6, u7} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A (OfNat.ofNat.{max u6 u7 u3} (Matrix.{u6, u7, u3} n p β) 0 (OfNat.mk.{max u6 u7 u3} (Matrix.{u6, u7, u3} n p β) 0 (Zero.zero.{max u6 u7 u3} (Matrix.{u6, u7, u3} n p β) (Matrix.hasZero.{u3, u6, u7} n p β (AddZeroClass.toHasZero.{u3} β (AddMonoid.toAddZeroClass.{u3} β (AddCommMonoid.toAddMonoid.{u3} β _inst_3)))))))) (OfNat.ofNat.{max (max u4 u6) (max u5 u7) u2 u3} (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) 0 (OfNat.mk.{max (max u4 u6) (max u5 u7) u2 u3} (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) 0 (Zero.zero.{max (max u4 u6) (max u5 u7) u2 u3} (Matrix.{max u4 u6, max u5 u7, max u2 u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.hasZero.{max u2 u3, max u4 u6, max u5 u7} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (AddZeroClass.toHasZero.{max u2 u3} (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addZeroClass.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6))))))
+but is expected to have type
+  forall (R : Type.{u1}) {α : Type.{u5}} {β : Type.{u4}} {l : Type.{u7}} {m : Type.{u6}} {n : Type.{u3}} {p : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u5} α] [_inst_3 : AddCommMonoid.{u4} β] [_inst_5 : Module.{u1, u5} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u4} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] (A : Matrix.{u7, u6, u5} l m α), Eq.{max (max (max (max (max (succ u5) (succ u4)) (succ u7)) (succ u6)) (succ u3)) (succ u2)} (Matrix.{max u3 u7, max u2 u6, max u4 u5} (Prod.{u7, u3} l n) (Prod.{u6, u2} m p) (TensorProduct.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.kroneckerMap.{u5, u4, max u4 u5, u7, u6, u3, u2} α β (TensorProduct.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A (OfNat.ofNat.{max (max u4 u3) u2} (Matrix.{u3, u2, u4} n p β) 0 (Zero.toOfNat0.{max (max u4 u3) u2} (Matrix.{u3, u2, u4} n p β) (Matrix.zero.{u4, u3, u2} n p β (AddMonoid.toZero.{u4} β (AddCommMonoid.toAddMonoid.{u4} β _inst_3)))))) (OfNat.ofNat.{max (max (max (max (max u5 u4) u7) u6) u3) u2} (Matrix.{max u3 u7, max u2 u6, max u4 u5} (Prod.{u7, u3} l n) (Prod.{u6, u2} m p) (TensorProduct.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) 0 (Zero.toOfNat0.{max (max (max (max (max u5 u4) u7) u6) u3) u2} (Matrix.{max u3 u7, max u2 u6, max u4 u5} (Prod.{u7, u3} l n) (Prod.{u6, u2} m p) (TensorProduct.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6)) (Matrix.zero.{max u5 u4, max u7 u3, max u6 u2} (Prod.{u7, u3} l n) (Prod.{u6, u2} m p) (TensorProduct.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (AddMonoid.toZero.{max u5 u4} (TensorProduct.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (AddCommMonoid.toAddMonoid.{max u5 u4} (TensorProduct.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (TensorProduct.addCommMonoid.{u1, u5, u4} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6))))))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_zero Matrix.kroneckerTMul_zeroₓ'. -/
 @[simp]
-theorem kronecker_tmul_zero (A : Matrix l m α) : A ⊗ₖₜ[R] (0 : Matrix n p β) = 0 :=
+theorem kroneckerTMul_zero (A : Matrix l m α) : A ⊗ₖₜ[R] (0 : Matrix n p β) = 0 :=
   kroneckerMap_zero_right _ (tmul_zero β) A
-#align matrix.kronecker_tmul_zero Matrix.kronecker_tmul_zero
-
-theorem add_kronecker_tmul (A₁ A₂ : Matrix l m α) (B : Matrix n p α) :
+#align matrix.kronecker_tmul_zero Matrix.kroneckerTMul_zero
+
+/- warning: matrix.add_kronecker_tmul -> Matrix.add_kroneckerTMul is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} {p : Type.{u6}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (A₁ : Matrix.{u3, u4, u2} l m α) (A₂ : Matrix.{u3, u4, u2} l m α) (B : Matrix.{u5, u6, u2} n p α), Eq.{succ (max (max u3 u5) (max u4 u6) u2)} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (HAdd.hAdd.{max u3 u4 u2, max u3 u4 u2, max u3 u4 u2} (Matrix.{u3, u4, u2} l m α) (Matrix.{u3, u4, u2} l m α) (Matrix.{u3, u4, u2} l m α) (instHAdd.{max u3 u4 u2} (Matrix.{u3, u4, u2} l m α) (Matrix.hasAdd.{u2, u3, u4} l m α (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))))) A₁ A₂) B) (HAdd.hAdd.{max (max u3 u5) (max u4 u6) u2, max (max u3 u5) (max u4 u6) u2, max (max u3 u5) (max u4 u6) u2} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (instHAdd.{max (max u3 u5) (max u4 u6) u2} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.hasAdd.{u2, max u3 u5, max u4 u6} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (AddZeroClass.toHasAdd.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addZeroClass.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)))) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A₁ B) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A₂ B))
+but is expected to have type
+  forall (R : Type.{u1}) {α : Type.{u4}} {l : Type.{u6}} {m : Type.{u5}} {n : Type.{u3}} {p : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u4} α] [_inst_5 : Module.{u1, u4} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (A₁ : Matrix.{u6, u5, u4} l m α) (A₂ : Matrix.{u6, u5, u4} l m α) (B : Matrix.{u3, u2, u4} n p α), Eq.{max (max (max (max (succ u4) (succ u6)) (succ u5)) (succ u3)) (succ u2)} (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (HAdd.hAdd.{max (max u4 u6) u5, max (max u4 u6) u5, max (max u4 u6) u5} (Matrix.{u6, u5, u4} l m α) (Matrix.{u6, u5, u4} l m α) (Matrix.{u6, u5, u4} l m α) (instHAdd.{max (max u4 u6) u5} (Matrix.{u6, u5, u4} l m α) (Matrix.add.{u4, u6, u5} l m α (AddZeroClass.toAdd.{u4} α (AddMonoid.toAddZeroClass.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2))))) A₁ A₂) B) (HAdd.hAdd.{max (max (max (max u4 u6) u5) u3) u2, max (max (max (max u4 u6) u5) u3) u2, max (max (max (max u4 u6) u5) u3) u2} (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (instHAdd.{max (max (max (max u4 u6) u5) u3) u2} (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.add.{u4, max u6 u3, max u5 u2} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (AddZeroClass.toAdd.{u4} (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addZeroClass.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)))) (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A₁ B) (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A₂ B))
+Case conversion may be inaccurate. Consider using '#align matrix.add_kronecker_tmul Matrix.add_kroneckerTMulₓ'. -/
+theorem add_kroneckerTMul (A₁ A₂ : Matrix l m α) (B : Matrix n p α) :
     (A₁ + A₂) ⊗ₖₜ[R] B = A₁ ⊗ₖₜ B + A₂ ⊗ₖₜ B :=
   kroneckerMap_add_left _ add_tmul _ _ _
-#align matrix.add_kronecker_tmul Matrix.add_kronecker_tmul
-
-theorem kronecker_tmul_add (A : Matrix l m α) (B₁ B₂ : Matrix n p α) :
+#align matrix.add_kronecker_tmul Matrix.add_kroneckerTMul
+
+/- warning: matrix.kronecker_tmul_add -> Matrix.kroneckerTMul_add is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} {p : Type.{u6}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (A : Matrix.{u3, u4, u2} l m α) (B₁ : Matrix.{u5, u6, u2} n p α) (B₂ : Matrix.{u5, u6, u2} n p α), Eq.{succ (max (max u3 u5) (max u4 u6) u2)} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) A (HAdd.hAdd.{max u5 u6 u2, max u5 u6 u2, max u5 u6 u2} (Matrix.{u5, u6, u2} n p α) (Matrix.{u5, u6, u2} n p α) (Matrix.{u5, u6, u2} n p α) (instHAdd.{max u5 u6 u2} (Matrix.{u5, u6, u2} n p α) (Matrix.hasAdd.{u2, u5, u6} n p α (AddZeroClass.toHasAdd.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))))) B₁ B₂)) (HAdd.hAdd.{max (max u3 u5) (max u4 u6) u2, max (max u3 u5) (max u4 u6) u2, max (max u3 u5) (max u4 u6) u2} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (instHAdd.{max (max u3 u5) (max u4 u6) u2} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.hasAdd.{u2, max u3 u5, max u4 u6} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (AddZeroClass.toHasAdd.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addZeroClass.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)))) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A B₁) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A B₂))
+but is expected to have type
+  forall (R : Type.{u1}) {α : Type.{u4}} {l : Type.{u6}} {m : Type.{u5}} {n : Type.{u3}} {p : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u4} α] [_inst_5 : Module.{u1, u4} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (A : Matrix.{u6, u5, u4} l m α) (B₁ : Matrix.{u3, u2, u4} n p α) (B₂ : Matrix.{u3, u2, u4} n p α), Eq.{max (max (max (max (succ u4) (succ u6)) (succ u5)) (succ u3)) (succ u2)} (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) A (HAdd.hAdd.{max (max u4 u3) u2, max (max u4 u3) u2, max (max u4 u3) u2} (Matrix.{u3, u2, u4} n p α) (Matrix.{u3, u2, u4} n p α) (Matrix.{u3, u2, u4} n p α) (instHAdd.{max (max u4 u3) u2} (Matrix.{u3, u2, u4} n p α) (Matrix.add.{u4, u3, u2} n p α (AddZeroClass.toAdd.{u4} α (AddMonoid.toAddZeroClass.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2))))) B₁ B₂)) (HAdd.hAdd.{max (max (max (max u4 u6) u5) u3) u2, max (max (max (max u4 u6) u5) u3) u2, max (max (max (max u4 u6) u5) u3) u2} (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (instHAdd.{max (max (max (max u4 u6) u5) u3) u2} (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.add.{u4, max u6 u3, max u5 u2} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (AddZeroClass.toAdd.{u4} (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addZeroClass.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)))) (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A B₁) (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A B₂))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_add Matrix.kroneckerTMul_addₓ'. -/
+theorem kroneckerTMul_add (A : Matrix l m α) (B₁ B₂ : Matrix n p α) :
     A ⊗ₖₜ[R] (B₁ + B₂) = A ⊗ₖₜ B₁ + A ⊗ₖₜ B₂ :=
   kroneckerMap_add_right _ tmul_add _ _ _
-#align matrix.kronecker_tmul_add Matrix.kronecker_tmul_add
-
-theorem smul_kronecker_tmul (r : R) (A : Matrix l m α) (B : Matrix n p α) :
+#align matrix.kronecker_tmul_add Matrix.kroneckerTMul_add
+
+/- warning: matrix.smul_kronecker_tmul -> Matrix.smul_kroneckerTMul is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} {p : Type.{u6}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (r : R) (A : Matrix.{u3, u4, u2} l m α) (B : Matrix.{u5, u6, u2} n p α), Eq.{succ (max (max u3 u5) (max u4 u6) u2)} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (SMul.smul.{u1, max u3 u4 u2} R (Matrix.{u3, u4, u2} l m α) (Matrix.hasSmul.{u2, u3, u4, u1} l m R α (SMulZeroClass.toHasSmul.{u1, u2} R α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R α (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R α (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) (Module.toMulActionWithZero.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_5))))) r A) B) (SMul.smul.{u1, max (max u3 u5) (max u4 u6) u2} R (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.hasSmul.{u2, max u3 u5, max u4 u6, u1} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) R (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.hasSmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) r (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A B))
+but is expected to have type
+  forall (R : Type.{u1}) {α : Type.{u4}} {l : Type.{u6}} {m : Type.{u5}} {n : Type.{u3}} {p : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u4} α] [_inst_5 : Module.{u1, u4} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (r : R) (A : Matrix.{u6, u5, u4} l m α) (B : Matrix.{u3, u2, u4} n p α), Eq.{max (max (max (max (succ u4) (succ u6)) (succ u5)) (succ u3)) (succ u2)} (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (HSMul.hSMul.{u1, max (max u4 u6) u5, max (max u4 u6) u5} R (Matrix.{u6, u5, u4} l m α) (Matrix.{u6, u5, u4} l m α) (instHSMul.{u1, max (max u4 u6) u5} R (Matrix.{u6, u5, u4} l m α) (Matrix.smul.{u4, u6, u5, u1} l m R α (SMulZeroClass.toSMul.{u1, u4} R α (AddMonoid.toZero.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u4} R α (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u4} R α (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2)) (Module.toMulActionWithZero.{u1, u4} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_5)))))) r A) B) (HSMul.hSMul.{u1, max (max (max (max u2 u3) u5) u6) u4, max (max (max (max u4 u6) u5) u3) u2} R (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (instHSMul.{u1, max (max (max (max u4 u6) u5) u3) u2} R (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.smul.{u4, max u6 u3, max u5 u2, u1} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) R (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.instSMulTensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) r (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A B))
+Case conversion may be inaccurate. Consider using '#align matrix.smul_kronecker_tmul Matrix.smul_kroneckerTMulₓ'. -/
+theorem smul_kroneckerTMul (r : R) (A : Matrix l m α) (B : Matrix n p α) :
     (r • A) ⊗ₖₜ[R] B = r • A ⊗ₖₜ B :=
   kroneckerMap_smul_left _ _ (fun _ _ => smul_tmul' _ _ _) _ _
-#align matrix.smul_kronecker_tmul Matrix.smul_kronecker_tmul
-
-theorem kronecker_tmul_smul (r : R) (A : Matrix l m α) (B : Matrix n p α) :
+#align matrix.smul_kronecker_tmul Matrix.smul_kroneckerTMul
+
+/- warning: matrix.kronecker_tmul_smul -> Matrix.kroneckerTMul_smul is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} {p : Type.{u6}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (r : R) (A : Matrix.{u3, u4, u2} l m α) (B : Matrix.{u5, u6, u2} n p α), Eq.{succ (max (max u3 u5) (max u4 u6) u2)} (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) A (SMul.smul.{u1, max u5 u6 u2} R (Matrix.{u5, u6, u2} n p α) (Matrix.hasSmul.{u2, u5, u6, u1} n p R α (SMulZeroClass.toHasSmul.{u1, u2} R α (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) (SMulWithZero.toSmulZeroClass.{u1, u2} R α (MulZeroClass.toHasZero.{u1} R (MulZeroOneClass.toMulZeroClass.{u1} R (MonoidWithZero.toMulZeroOneClass.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) (MulActionWithZero.toSMulWithZero.{u1, u2} R α (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) (Module.toMulActionWithZero.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_5))))) r B)) (SMul.smul.{u1, max (max u3 u5) (max u4 u6) u2} R (Matrix.{max u3 u5, max u4 u6, u2} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.hasSmul.{u2, max u3 u5, max u4 u6, u1} (Prod.{u3, u5} l n) (Prod.{u4, u6} m p) R (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.hasSmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) r (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u6} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A B))
+but is expected to have type
+  forall (R : Type.{u1}) {α : Type.{u4}} {l : Type.{u6}} {m : Type.{u5}} {n : Type.{u3}} {p : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u4} α] [_inst_5 : Module.{u1, u4} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] (r : R) (A : Matrix.{u6, u5, u4} l m α) (B : Matrix.{u3, u2, u4} n p α), Eq.{max (max (max (max (succ u4) (succ u6)) (succ u5)) (succ u3)) (succ u2)} (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) A (HSMul.hSMul.{u1, max (max u4 u3) u2, max (max u4 u3) u2} R (Matrix.{u3, u2, u4} n p α) (Matrix.{u3, u2, u4} n p α) (instHSMul.{u1, max (max u4 u3) u2} R (Matrix.{u3, u2, u4} n p α) (Matrix.smul.{u4, u3, u2, u1} n p R α (SMulZeroClass.toSMul.{u1, u4} R α (AddMonoid.toZero.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2)) (SMulWithZero.toSMulZeroClass.{u1, u4} R α (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (AddMonoid.toZero.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2)) (MulActionWithZero.toSMulWithZero.{u1, u4} R α (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (AddMonoid.toZero.{u4} α (AddCommMonoid.toAddMonoid.{u4} α _inst_2)) (Module.toMulActionWithZero.{u1, u4} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 _inst_5)))))) r B)) (HSMul.hSMul.{u1, max (max (max (max u2 u3) u5) u6) u4, max (max (max (max u4 u6) u5) u3) u2} R (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (instHSMul.{u1, max (max (max (max u4 u6) u5) u3) u2} R (Matrix.{max u3 u6, max u2 u5, u4} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.smul.{u4, max u6 u3, max u5 u2, u1} (Prod.{u6, u3} l n) (Prod.{u5, u2} m p) R (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.instSMulTensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) r (Matrix.kroneckerMap.{u4, u4, u4, u6, u5, u3, u2} α α (TensorProduct.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n p (fun (_x : α) (_y : α) => TensorProduct.tmul.{u1, u4, u4} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 _x _y) A B))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_smul Matrix.kroneckerTMul_smulₓ'. -/
+theorem kroneckerTMul_smul (r : R) (A : Matrix l m α) (B : Matrix n p α) :
     A ⊗ₖₜ[R] (r • B) = r • A ⊗ₖₜ B :=
   kroneckerMap_smul_right _ _ (fun _ _ => tmul_smul _ _ _) _ _
-#align matrix.kronecker_tmul_smul Matrix.kronecker_tmul_smul
-
-theorem diagonal_kronecker_tmul_diagonal [DecidableEq m] [DecidableEq n] (a : m → α) (b : n → α) :
+#align matrix.kronecker_tmul_smul Matrix.kroneckerTMul_smul
+
+/- warning: matrix.diagonal_kronecker_tmul_diagonal -> Matrix.diagonal_kroneckerTMul_diagonal is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {α : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_8 : DecidableEq.{succ u3} m] [_inst_9 : DecidableEq.{succ u4} n] (a : m -> α) (b : n -> α), Eq.{succ (max (max u3 u4) u2)} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u3, u4} m n) (Prod.{u3, u4} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u3, u3, u4, u4} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) m m n n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Matrix.diagonal.{u2, u3} m α (fun (a : m) (b : m) => _inst_8 a b) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) a) (Matrix.diagonal.{u2, u4} n α (fun (a : n) (b : n) => _inst_9 a b) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) b)) (Matrix.diagonal.{u2, max u3 u4} (Prod.{u3, u4} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (fun (a : Prod.{u3, u4} m n) (b : Prod.{u3, u4} m n) => Prod.Lex.decidableEq.{u3, u4} m n (fun (a : m) (b : m) => _inst_8 a b) (fun (a : n) (b : n) => _inst_9 a b) a b) (AddZeroClass.toHasZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addZeroClass.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (fun (mn : Prod.{u3, u4} m n) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 (a (Prod.fst.{u3, u4} m n mn)) (b (Prod.snd.{u3, u4} m n mn))))
+but is expected to have type
+  forall (R : Type.{u1}) {α : Type.{u2}} {m : Type.{u4}} {n : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_8 : DecidableEq.{succ u4} m] [_inst_9 : DecidableEq.{succ u3} n] (a : m -> α) (b : n -> α), Eq.{max (max (succ u2) (succ u4)) (succ u3)} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u4, u3} m n) (Prod.{u4, u3} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u4, u4, u3, u3} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) m m n n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Matrix.diagonal.{u2, u4} m α (fun (a : m) (b : m) => _inst_8 a b) (AddMonoid.toZero.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2)) a) (Matrix.diagonal.{u2, u3} n α (fun (a : n) (b : n) => _inst_9 a b) (AddMonoid.toZero.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2)) b)) (Matrix.diagonal.{u2, max u4 u3} (Prod.{u4, u3} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (fun (a : Prod.{u4, u3} m n) (b : Prod.{u4, u3} m n) => instDecidableEqProd.{u4, u3} m n (fun (a : m) (b : m) => _inst_8 a b) (fun (a : n) (b : n) => _inst_9 a b) a b) (AddMonoid.toZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (AddCommMonoid.toAddMonoid.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (fun (mn : Prod.{u4, u3} m n) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 (a (Prod.fst.{u4, u3} m n mn)) (b (Prod.snd.{u4, u3} m n mn))))
+Case conversion may be inaccurate. Consider using '#align matrix.diagonal_kronecker_tmul_diagonal Matrix.diagonal_kroneckerTMul_diagonalₓ'. -/
+theorem diagonal_kroneckerTMul_diagonal [DecidableEq m] [DecidableEq n] (a : m → α) (b : n → α) :
     diagonal a ⊗ₖₜ[R] diagonal b = diagonal fun mn => a mn.1 ⊗ₜ b mn.2 :=
   kroneckerMap_diagonal_diagonal _ (zero_tmul _) (tmul_zero _) _ _
-#align matrix.diagonal_kronecker_tmul_diagonal Matrix.diagonal_kronecker_tmul_diagonal
-
-theorem kronecker_tmul_diagonal [DecidableEq n] (A : Matrix l m α) (b : n → α) :
+#align matrix.diagonal_kronecker_tmul_diagonal Matrix.diagonal_kroneckerTMul_diagonal
+
+/- warning: matrix.kronecker_tmul_diagonal -> Matrix.kroneckerTMul_diagonal is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_8 : DecidableEq.{succ u5} n] (A : Matrix.{u3, u4, u2} l m α) (b : n -> α), Eq.{succ (max (max u3 u5) (max u4 u5) u2)} (Matrix.{max u3 u5, max u4 u5, u2} (Prod.{u3, u5} l n) (Prod.{u4, u5} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u3, u4, u5, u5} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) A (Matrix.diagonal.{u2, u5} n α (fun (a : n) (b : n) => _inst_8 a b) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) b)) (Matrix.blockDiagonal.{u3, u4, u5, u2} l m n (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (fun (a : n) (b : n) => _inst_8 a b) (AddZeroClass.toHasZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addZeroClass.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (fun (i : n) => Matrix.map.{u2, u2, u3, u4} l m α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) A (fun (a : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 a (b i))))
+but is expected to have type
+  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u4}} {m : Type.{u3}} {n : Type.{u5}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_8 : DecidableEq.{succ u5} n] (A : Matrix.{u4, u3, u2} l m α) (b : n -> α), Eq.{max (max (max (succ u2) (succ u4)) (succ u3)) (succ u5)} (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} l n) (Prod.{u3, u5} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u4, u3, u5, u5} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l m n n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) A (Matrix.diagonal.{u2, u5} n α (fun (a : n) (b : n) => _inst_8 a b) (AddMonoid.toZero.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2)) b)) (Matrix.blockDiagonal.{u4, u3, u5, u2} l m n (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (fun (a : n) (b : n) => _inst_8 a b) (AddMonoid.toZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (AddCommMonoid.toAddMonoid.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (fun (i : n) => Matrix.map.{u2, u2, u4, u3} l m α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) A (fun (a : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 a (b i))))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_diagonal Matrix.kroneckerTMul_diagonalₓ'. -/
+theorem kroneckerTMul_diagonal [DecidableEq n] (A : Matrix l m α) (b : n → α) :
     A ⊗ₖₜ[R] diagonal b = blockDiagonal fun i => A.map fun a => a ⊗ₜ[R] b i :=
   kroneckerMap_diagonal_right _ (tmul_zero _) _ _
-#align matrix.kronecker_tmul_diagonal Matrix.kronecker_tmul_diagonal
-
-theorem diagonal_kronecker_tmul [DecidableEq l] (a : l → α) (B : Matrix m n α) :
+#align matrix.kronecker_tmul_diagonal Matrix.kroneckerTMul_diagonal
+
+/- warning: matrix.diagonal_kronecker_tmul -> Matrix.diagonal_kroneckerTMul is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_8 : DecidableEq.{succ u3} l] (a : l -> α) (B : Matrix.{u4, u5, u2} m n α), Eq.{succ (max (max u3 u4) (max u3 u5) u2)} (Matrix.{max u3 u4, max u3 u5, u2} (Prod.{u3, u4} l m) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u3, u3, u4, u5} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l l m n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Matrix.diagonal.{u2, u3} l α (fun (a : l) (b : l) => _inst_8 a b) (AddZeroClass.toHasZero.{u2} α (AddMonoid.toAddZeroClass.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2))) a) B) (coeFn.{max 1 (max (succ (max (max u4 u3) (max u5 u3) u2)) (succ (max (max u3 u4) (max u3 u5) u2))) (succ (max (max u3 u4) (max u3 u5) u2)) (succ (max (max u4 u3) (max u5 u3) u2)), max (succ (max (max u4 u3) (max u5 u3) u2)) (succ (max (max u3 u4) (max u3 u5) u2))} (Equiv.{succ (max (max u4 u3) (max u5 u3) u2), succ (max (max u3 u4) (max u3 u5) u2)} (Matrix.{max u4 u3, max u5 u3, u2} (Prod.{u4, u3} m l) (Prod.{u5, u3} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u4, max u3 u5, u2} (Prod.{u3, u4} l m) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (fun (_x : Equiv.{succ (max (max u4 u3) (max u5 u3) u2), succ (max (max u3 u4) (max u3 u5) u2)} (Matrix.{max u4 u3, max u5 u3, u2} (Prod.{u4, u3} m l) (Prod.{u5, u3} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u4, max u3 u5, u2} (Prod.{u3, u4} l m) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) => (Matrix.{max u4 u3, max u5 u3, u2} (Prod.{u4, u3} m l) (Prod.{u5, u3} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) -> (Matrix.{max u3 u4, max u3 u5, u2} (Prod.{u3, u4} l m) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (Equiv.hasCoeToFun.{succ (max (max u4 u3) (max u5 u3) u2), succ (max (max u3 u4) (max u3 u5) u2)} (Matrix.{max u4 u3, max u5 u3, u2} (Prod.{u4, u3} m l) (Prod.{u5, u3} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u3 u4, max u3 u5, u2} (Prod.{u3, u4} l m) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (Matrix.reindex.{u2, max u3 u4, max u4 u3, max u5 u3, max u3 u5} (Prod.{u3, u4} l m) (Prod.{u4, u3} m l) (Prod.{u5, u3} n l) (Prod.{u3, u5} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Equiv.prodComm.{u4, u3} m l) (Equiv.prodComm.{u5, u3} n l)) (Matrix.blockDiagonal.{u4, u5, u3, u2} m n l (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (fun (a : l) (b : l) => _inst_8 a b) (AddZeroClass.toHasZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addZeroClass.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (fun (i : l) => Matrix.map.{u2, u2, u4, u5} m n α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) B (fun (b : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 (a i) b))))
+but is expected to have type
+  forall (R : Type.{u1}) {α : Type.{u2}} {l : Type.{u5}} {m : Type.{u4}} {n : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_8 : DecidableEq.{succ u5} l] (a : l -> α) (B : Matrix.{u4, u3, u2} m n α), Eq.{max (max (max (succ u2) (succ u5)) (succ u4)) (succ u3)} (Matrix.{max u4 u5, max u3 u5, u2} (Prod.{u5, u4} l m) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.kroneckerMap.{u2, u2, u2, u5, u5, u4, u3} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) l l m n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Matrix.diagonal.{u2, u5} l α (fun (a : l) (b : l) => _inst_8 a b) (AddMonoid.toZero.{u2} α (AddCommMonoid.toAddMonoid.{u2} α _inst_2)) a) B) (FunLike.coe.{max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3), max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3), max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3)} (Equiv.{max (max (succ u2) (succ (max u5 u3))) (succ (max u5 u4)), max (max (succ u2) (succ (max u5 u3))) (succ (max u5 u4))} (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u5, u4} l m) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (fun (_x : Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) => Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u5, u4} l m) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3), max (max (max (max (succ u2) (succ u5)) (succ u4)) (succ u5)) (succ u3)} (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5)) (Matrix.{max u5 u4, max u5 u3, u2} (Prod.{u5, u4} l m) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (Matrix.reindex.{u2, max u5 u4, max u5 u4, max u5 u3, max u5 u3} (Prod.{u5, u4} l m) (Prod.{u4, u5} m l) (Prod.{u3, u5} n l) (Prod.{u5, u3} l n) (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (Equiv.prodComm.{u4, u5} m l) (Equiv.prodComm.{u3, u5} n l)) (Matrix.blockDiagonal.{u4, u3, u5, u2} m n l (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (fun (a : l) (b : l) => _inst_8 a b) (AddMonoid.toZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (AddCommMonoid.toAddMonoid.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) (TensorProduct.addCommMonoid.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5))) (fun (i : l) => Matrix.map.{u2, u2, u4, u3} m n α (TensorProduct.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5) B (fun (b : α) => TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α _inst_2 _inst_2 _inst_5 _inst_5 (a i) b))))
+Case conversion may be inaccurate. Consider using '#align matrix.diagonal_kronecker_tmul Matrix.diagonal_kroneckerTMulₓ'. -/
+theorem diagonal_kroneckerTMul [DecidableEq l] (a : l → α) (B : Matrix m n α) :
     diagonal a ⊗ₖₜ[R] B =
       Matrix.reindex (Equiv.prodComm _ _) (Equiv.prodComm _ _)
         (blockDiagonal fun i => B.map fun b => a i ⊗ₜ[R] b) :=
   kroneckerMap_diagonal_left _ (zero_tmul _) _ _
-#align matrix.diagonal_kronecker_tmul Matrix.diagonal_kronecker_tmul
-
+#align matrix.diagonal_kronecker_tmul Matrix.diagonal_kroneckerTMul
+
+/- warning: matrix.kronecker_tmul_assoc -> Matrix.kroneckerTMul_assoc is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {γ : Type.{u4}} {l : Type.{u5}} {m : Type.{u6}} {n : Type.{u7}} {p : Type.{u8}} {q : Type.{u9}} {r : Type.{u10}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_3 : AddCommMonoid.{u3} β] [_inst_4 : AddCommMonoid.{u4} γ] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] [_inst_7 : Module.{u1, u4} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (A : Matrix.{u5, u6, u2} l m α) (B : Matrix.{u7, u8, u3} n p β) (C : Matrix.{u9, u10, u4} q r γ), Eq.{succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)} (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (coeFn.{max 1 (max (succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4)) (succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4))) (succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)) (succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4)), max (succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4)) (succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4))} (Equiv.{succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4), succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)} (Matrix.{max (max u5 u7) u9, max (max u6 u8) u10, max u2 u3 u4} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (fun (_x : Equiv.{succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4), succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)} (Matrix.{max (max u5 u7) u9, max (max u6 u8) u10, max u2 u3 u4} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) => (Matrix.{max (max u5 u7) u9, max (max u6 u8) u10, max u2 u3 u4} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) -> (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Equiv.hasCoeToFun.{succ (max (max (max u5 u7) u9) (max (max u6 u8) u10) u2 u3 u4), succ (max (max u5 u7 u9) (max u6 u8 u10) u2 u3 u4)} (Matrix.{max (max u5 u7) u9, max (max u6 u8) u10, max u2 u3 u4} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max u5 u7 u9, max u6 u8 u10, max u2 u3 u4} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Matrix.reindex.{max u2 u3 u4, max u5 u7 u9, max (max u5 u7) u9, max (max u6 u8) u10, max u6 u8 u10} (Prod.{u5, max u7 u9} l (Prod.{u7, u9} n q)) (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (Prod.{u6, max u8 u10} m (Prod.{u8, u10} p r)) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Equiv.prodAssoc.{u5, u7, u9} l n q) (Equiv.prodAssoc.{u6, u8, u10} m p r)) (Matrix.map.{max (max u2 u3) u4, max u2 u3 u4, max (max u5 u7) u9, max (max u6 u8) u10} (Prod.{max u5 u7, u9} (Prod.{u5, u7} l n) q) (Prod.{max u6 u8, u10} (Prod.{u6, u8} m p) r) (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Matrix.kroneckerMap.{max u2 u3, u4, max (max u2 u3) u4, max u5 u7, max u6 u8, u9, u10} (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Prod.{u5, u7} l n) (Prod.{u6, u8} m p) q r (TensorProduct.tmul.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u5, u6, u7, u8} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B) C) (coeFn.{max (succ (max (max u2 u3) u4)) (succ (max u2 u3 u4)), max (succ (max (max u2 u3) u4)) (succ (max u2 u3 u4))} (LinearEquiv.{u1, u1, max (max u2 u3) u4, max u2 u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.assoc._proof_1.{u1} R _inst_1) (TensorProduct.assoc._proof_2.{u1} R _inst_1) (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.module.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.module.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (fun (_x : LinearEquiv.{u1, u1, max (max u2 u3) u4, max u2 u3 u4} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.assoc._proof_1.{u1} R _inst_1) (TensorProduct.assoc._proof_2.{u1} R _inst_1) (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.module.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.module.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) -> (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (LinearEquiv.hasCoeToFun.{u1, u1, max (max u2 u3) u4, max u2 u3 u4} R R (TensorProduct.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.module.{u1, max u2 u3, u4} R _inst_1 (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.module.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.module.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.assoc._proof_1.{u1} R _inst_1) (TensorProduct.assoc._proof_2.{u1} R _inst_1)) (TensorProduct.assoc.{u1, u2, u3, u4} R _inst_1 α β γ _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (Matrix.kroneckerMap.{u2, max u3 u4, max u2 u3 u4, u5, u6, max u7 u9, max u8 u10} α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) (TensorProduct.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) l m (Prod.{u7, u9} n q) (Prod.{u8, u10} p r) (TensorProduct.tmul.{u1, u2, max u3 u4} R _inst_1 α (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.module.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) A (Matrix.kroneckerMap.{u3, u4, max u3 u4, u7, u8, u9, u10} β γ (TensorProduct.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) n p q r (TensorProduct.tmul.{u1, u3, u4} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) B C))
+but is expected to have type
+  forall (R : Type.{u1}) {α : Type.{u8}} {β : Type.{u5}} {γ : Type.{u2}} {l : Type.{u10}} {m : Type.{u9}} {n : Type.{u7}} {p : Type.{u6}} {q : Type.{u4}} {r : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u8} α] [_inst_3 : AddCommMonoid.{u5} β] [_inst_4 : AddCommMonoid.{u2} γ] [_inst_5 : Module.{u1, u8} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u5} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] [_inst_7 : Module.{u1, u2} R γ (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4] (A : Matrix.{u10, u9, u8} l m α) (B : Matrix.{u7, u6, u5} n p β) (C : Matrix.{u4, u3, u2} q r γ), Eq.{max (max (max (max (max (max (max (max (succ u8) (succ u5)) (succ u2)) (succ u10)) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)} ((fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.map.{max (max u8 u5) u2, max (max u8 u5) u2, max (max u10 u7) u4, max (max u9 u6) u3} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Matrix.kroneckerMap.{max u5 u8, u2, max u2 u5 u8, max u7 u10, max u6 u9, u4, u3} (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Prod.{u10, u7} l n) (Prod.{u9, u6} m p) q r (TensorProduct.tmul.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Matrix.kroneckerMap.{u8, u5, max u5 u8, u10, u9, u7, u6} α β (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B) C) (FunLike.coe.{max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (a : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) a) (SMulHomClass.toFunLike.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))))) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (TensorProduct.assoc.{u1, u8, u5, u2} R _inst_1 α β γ _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (FunLike.coe.{max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2))} (Equiv.{max (max (succ (max (max u8 u5) u2)) (succ (max (max u9 u6) u3))) (succ (max (max u10 u7) u4)), max (max (succ (max (max u8 u5) u2)) (succ (max (max u9 u6) u3))) (succ (max (max u10 u7) u4))} (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (fun (_x : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) => Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) _x) (Equiv.instFunLikeEquiv.{max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2)), max (max (max (max (max (max (succ u10) (succ u9)) (succ u7)) (succ u6)) (succ u4)) (succ u3)) (succ (max (max u8 u5) u2))} (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Matrix.{max (max u10 u7) u4, max (max u9 u6) u3, max (max u8 u5) u2} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (Matrix.reindex.{max (max u8 u5) u2, max (max u10 u7) u4, max (max u10 u7) u4, max (max u9 u6) u3, max (max u9 u6) u3} (Prod.{u10, max u4 u7} l (Prod.{u7, u4} n q)) (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (Prod.{u9, max u3 u6} m (Prod.{u6, u3} p r)) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Equiv.prodAssoc.{u10, u7, u4} l n q) (Equiv.prodAssoc.{u9, u6, u3} m p r)) (Matrix.map.{max (max u8 u5) u2, max (max u8 u5) u2, max (max u10 u7) u4, max (max u9 u6) u3} (Prod.{max u7 u10, u4} (Prod.{u10, u7} l n) q) (Prod.{max u6 u9, u3} (Prod.{u9, u6} m p) r) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (Matrix.kroneckerMap.{max u5 u8, u2, max u2 u5 u8, max u7 u10, max u6 u9, u4, u3} (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Prod.{u10, u7} l n) (Prod.{u9, u6} m p) q r (TensorProduct.tmul.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (Matrix.kroneckerMap.{u8, u5, max u5 u8, u10, u9, u7, u6} α β (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) l m n p (TensorProduct.tmul.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B) C) (FunLike.coe.{max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2), max (max (succ u8) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (fun (_x : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) => TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) _x) (SMulHomClass.toFunLike.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7))))) (SMulZeroClass.toSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toZero.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddMonoid.toAddZeroClass.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u8 u5) u2, u1, max (max u8 u5) u2, max (max u8 u5) u2} (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (AddCommMonoid.toAddMonoid.{max (max u8 u5) u2} (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7)) (Module.toDistribMulAction.{u1, max (max u8 u5) u2} R (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (LinearEquiv.{u1, u1, max u2 u5 u8, max (max u2 u5) u8} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u5) u2, max (max u8 u5) u2} R R (TensorProduct.{u1, max u5 u8, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (TensorProduct.addCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.addCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, max u8 u5, u2} R _inst_1 (TensorProduct.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) γ (TensorProduct.addCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_4 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, u5} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) _inst_7) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u8, max u5 u2} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))) (TensorProduct.assoc.{u1, u8, u5, u2} R _inst_1 α β γ _inst_2 _inst_3 _inst_4 _inst_5 _inst_6 _inst_7)))) (Matrix.kroneckerMap.{u8, max u2 u5, max (max u2 u5) u8, u10, u9, max u4 u7, max u3 u6} α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) (TensorProduct.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) l m (Prod.{u7, u4} n q) (Prod.{u6, u3} p r) (TensorProduct.tmul.{u1, u8, max u2 u5} R _inst_1 α (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_2 (TensorProduct.addCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) _inst_5 (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7)) A (Matrix.kroneckerMap.{u5, u2, max u2 u5, u7, u6, u4, u3} β γ (TensorProduct.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) n p q r (TensorProduct.tmul.{u1, u5, u2} R _inst_1 β γ _inst_3 _inst_4 _inst_6 _inst_7) B C))
+Case conversion may be inaccurate. Consider using '#align matrix.kronecker_tmul_assoc Matrix.kroneckerTMul_assocₓ'. -/
 @[simp]
-theorem kronecker_tmul_assoc (A : Matrix l m α) (B : Matrix n p β) (C : Matrix q r γ) :
+theorem kroneckerTMul_assoc (A : Matrix l m α) (B : Matrix n p β) (C : Matrix q r γ) :
     reindex (Equiv.prodAssoc l n q) (Equiv.prodAssoc m p r)
         (((A ⊗ₖₜ[R] B) ⊗ₖₜ[R] C).map (TensorProduct.assoc _ _ _ _)) =
       A ⊗ₖₜ[R] B ⊗ₖₜ[R] C :=
   ext fun i j => assoc_tmul _ _ _
-#align matrix.kronecker_tmul_assoc Matrix.kronecker_tmul_assoc
-
-theorem trace_kronecker_tmul [Fintype m] [Fintype n] (A : Matrix m m α) (B : Matrix n n β) :
+#align matrix.kronecker_tmul_assoc Matrix.kroneckerTMul_assoc
+
+/- warning: matrix.trace_kronecker_tmul -> Matrix.trace_kroneckerTMul is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} α] [_inst_3 : AddCommMonoid.{u3} β] [_inst_5 : Module.{u1, u2} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u3} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] [_inst_8 : Fintype.{u4} m] [_inst_9 : Fintype.{u5} n] (A : Matrix.{u4, u4, u2} m m α) (B : Matrix.{u5, u5, u3} n n β), Eq.{succ (max u2 u3)} (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (Matrix.trace.{max u4 u5, max u2 u3} (Prod.{u4, u5} m n) (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (Prod.fintype.{u4, u5} m n _inst_8 _inst_9) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u4, u4, u5, u5} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) m m n n (TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B)) (TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6 (Matrix.trace.{u4, u2} m α _inst_8 _inst_2 A) (Matrix.trace.{u5, u3} n β _inst_9 _inst_3 B))
+but is expected to have type
+  forall (R : Type.{u1}) {α : Type.{u3}} {β : Type.{u2}} {m : Type.{u5}} {n : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : AddCommMonoid.{u3} α] [_inst_3 : AddCommMonoid.{u2} β] [_inst_5 : Module.{u1, u3} R α (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2] [_inst_6 : Module.{u1, u2} R β (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3] [_inst_8 : Fintype.{u5} m] [_inst_9 : Fintype.{u4} n] (A : Matrix.{u5, u5, u3} m m α) (B : Matrix.{u4, u4, u2} n n β), Eq.{max (succ u3) (succ u2)} (TensorProduct.{u1, u3, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (Matrix.trace.{max u4 u5, max u2 u3} (Prod.{u5, u4} m n) (TensorProduct.{u1, u3, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (instFintypeProd.{u5, u4} m n _inst_8 _inst_9) (TensorProduct.addCommMonoid.{u1, u3, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) (Matrix.kroneckerMap.{u3, u2, max u2 u3, u5, u5, u4, u4} α β (TensorProduct.{u1, u3, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) m m n n (TensorProduct.tmul.{u1, u3, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6) A B)) (TensorProduct.tmul.{u1, u3, u2} R _inst_1 α β _inst_2 _inst_3 _inst_5 _inst_6 (Matrix.trace.{u5, u3} m α _inst_8 _inst_2 A) (Matrix.trace.{u4, u2} n β _inst_9 _inst_3 B))
+Case conversion may be inaccurate. Consider using '#align matrix.trace_kronecker_tmul Matrix.trace_kroneckerTMulₓ'. -/
+theorem trace_kroneckerTMul [Fintype m] [Fintype n] (A : Matrix m m α) (B : Matrix n n β) :
     trace (A ⊗ₖₜ[R] B) = trace A ⊗ₜ[R] trace B :=
   trace_kroneckerMapBilinear (TensorProduct.mk R α β) _ _
-#align matrix.trace_kronecker_tmul Matrix.trace_kronecker_tmul
+#align matrix.trace_kronecker_tmul Matrix.trace_kroneckerTMul
 
 end Module
 
@@ -541,16 +875,28 @@ section Semiring
 
 variable [CommSemiring R] [Semiring α] [Semiring β] [Algebra R α] [Algebra R β]
 
+/- warning: matrix.one_kronecker_tmul_one -> Matrix.one_kroneckerTMul_one is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {α : Type.{u2}} {m : Type.{u3}} {n : Type.{u4}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} α] [_inst_4 : Algebra.{u1, u2} R α _inst_1 _inst_2] [_inst_6 : DecidableEq.{succ u3} m] [_inst_7 : DecidableEq.{succ u4} n], Eq.{succ (max (max u3 u4) u2)} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u3, u4} m n) (Prod.{u3, u4} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4))) (Matrix.kroneckerMap.{u2, u2, u2, u3, u3, u4, u4} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) m m n n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (OfNat.ofNat.{max u3 u2} (Matrix.{u3, u3, u2} m m α) 1 (OfNat.mk.{max u3 u2} (Matrix.{u3, u3, u2} m m α) 1 (One.one.{max u3 u2} (Matrix.{u3, u3, u2} m m α) (Matrix.hasOne.{u2, u3} m α (fun (a : m) (b : m) => _inst_6 a b) (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2)))) (AddMonoidWithOne.toOne.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2)))))))) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} n n α) 1 (OfNat.mk.{max u4 u2} (Matrix.{u4, u4, u2} n n α) 1 (One.one.{max u4 u2} (Matrix.{u4, u4, u2} n n α) (Matrix.hasOne.{u2, u4} n α (fun (a : n) (b : n) => _inst_7 a b) (MulZeroClass.toHasZero.{u2} α (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2)))) (AddMonoidWithOne.toOne.{u2} α (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} α (NonAssocSemiring.toAddCommMonoidWithOne.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))))))))) (OfNat.ofNat.{max (max u3 u4) u2} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u3, u4} m n) (Prod.{u3, u4} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4))) 1 (OfNat.mk.{max (max u3 u4) u2} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u3, u4} m n) (Prod.{u3, u4} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4))) 1 (One.one.{max (max u3 u4) u2} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u3, u4} m n) (Prod.{u3, u4} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4))) (Matrix.hasOne.{u2, max u3 u4} (Prod.{u3, u4} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (fun (a : Prod.{u3, u4} m n) (b : Prod.{u3, u4} m n) => Prod.Lex.decidableEq.{u3, u4} m n (fun (a : m) (b : m) => _inst_6 a b) (fun (a : n) (b : n) => _inst_7 a b) a b) (MulZeroClass.toHasZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (Semiring.toNonAssocSemiring.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, u2} R _inst_1 α _inst_2 _inst_4 α _inst_2 _inst_4))))) (Algebra.TensorProduct.TensorProduct.hasOne.{u1, u2, u2} R _inst_1 α _inst_2 _inst_4 α _inst_2 _inst_4)))))
+but is expected to have type
+  forall (R : Type.{u1}) {α : Type.{u2}} {m : Type.{u4}} {n : Type.{u3}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} α] [_inst_4 : Algebra.{u1, u2} R α _inst_1 _inst_2] [_inst_6 : DecidableEq.{succ u4} m] [_inst_7 : DecidableEq.{succ u3} n], Eq.{max (max (succ u2) (succ u4)) (succ u3)} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u4, u3} m n) (Prod.{u4, u3} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4))) (Matrix.kroneckerMap.{u2, u2, u2, u4, u4, u3, u3} α α (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) m m n n (TensorProduct.tmul.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (OfNat.ofNat.{max u2 u4} (Matrix.{u4, u4, u2} m m α) 1 (One.toOfNat1.{max u2 u4} (Matrix.{u4, u4, u2} m m α) (Matrix.one.{u2, u4} m α (fun (a : m) (b : m) => _inst_6 a b) (MonoidWithZero.toZero.{u2} α (Semiring.toMonoidWithZero.{u2} α _inst_2)) (Semiring.toOne.{u2} α _inst_2)))) (OfNat.ofNat.{max u2 u3} (Matrix.{u3, u3, u2} n n α) 1 (One.toOfNat1.{max u2 u3} (Matrix.{u3, u3, u2} n n α) (Matrix.one.{u2, u3} n α (fun (a : n) (b : n) => _inst_7 a b) (MonoidWithZero.toZero.{u2} α (Semiring.toMonoidWithZero.{u2} α _inst_2)) (Semiring.toOne.{u2} α _inst_2))))) (OfNat.ofNat.{max (max u2 u4) u3} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u4, u3} m n) (Prod.{u4, u3} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4))) 1 (One.toOfNat1.{max (max u2 u4) u3} (Matrix.{max u3 u4, max u3 u4, u2} (Prod.{u4, u3} m n) (Prod.{u4, u3} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4))) (Matrix.one.{u2, max u4 u3} (Prod.{u4, u3} m n) (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (fun (a : Prod.{u4, u3} m n) (b : Prod.{u4, u3} m n) => instDecidableEqProd.{u4, u3} m n (fun (a : m) (b : m) => _inst_6 a b) (fun (a : n) (b : n) => _inst_7 a b) a b) (MonoidWithZero.toZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (Semiring.toMonoidWithZero.{u2} (TensorProduct.{u1, u2, u2} R _inst_1 α α (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, u2} R _inst_1 α _inst_2 _inst_4 α _inst_2 _inst_4))) (Algebra.TensorProduct.instOneTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, u2} R _inst_1 α _inst_2 _inst_4 α _inst_2 _inst_4))))
+Case conversion may be inaccurate. Consider using '#align matrix.one_kronecker_tmul_one Matrix.one_kroneckerTMul_oneₓ'. -/
 @[simp]
-theorem one_kronecker_tmul_one [DecidableEq m] [DecidableEq n] :
+theorem one_kroneckerTMul_one [DecidableEq m] [DecidableEq n] :
     (1 : Matrix m m α) ⊗ₖₜ[R] (1 : Matrix n n α) = 1 :=
   kroneckerMap_one_one _ (zero_tmul _) (tmul_zero _) rfl
-#align matrix.one_kronecker_tmul_one Matrix.one_kronecker_tmul_one
-
-theorem mul_kronecker_tmul_mul [Fintype m] [Fintype m'] (A : Matrix l m α) (B : Matrix m n α)
+#align matrix.one_kronecker_tmul_one Matrix.one_kroneckerTMul_one
+
+/- warning: matrix.mul_kronecker_tmul_mul -> Matrix.mul_kroneckerTMul_mul is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {l' : Type.{u7}} {m' : Type.{u8}} {n' : Type.{u9}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u2} α] [_inst_3 : Semiring.{u3} β] [_inst_4 : Algebra.{u1, u2} R α _inst_1 _inst_2] [_inst_5 : Algebra.{u1, u3} R β _inst_1 _inst_3] [_inst_6 : Fintype.{u5} m] [_inst_7 : Fintype.{u8} m'] (A : Matrix.{u4, u5, u2} l m α) (B : Matrix.{u5, u6, u2} m n α) (A' : Matrix.{u7, u8, u3} l' m' β) (B' : Matrix.{u8, u9, u3} m' n' β), Eq.{succ (max (max u4 u7) (max u6 u9) u2 u3)} (Matrix.{max u4 u7, max u6 u9, max u2 u3} (Prod.{u4, u7} l l') (Prod.{u6, u9} n n') (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5))) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u4, u6, u7, u9} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) l n l' n' (TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (Matrix.mul.{u2, u4, u5, u6} l m n α _inst_6 (Distrib.toHasMul.{u2} α (NonUnitalNonAssocSemiring.toDistrib.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) A B) (Matrix.mul.{u3, u7, u8, u9} l' m' n' β _inst_7 (Distrib.toHasMul.{u3} β (NonUnitalNonAssocSemiring.toDistrib.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) A' B')) (Matrix.mul.{max u2 u3, max u4 u7, max u5 u8, max u6 u9} (Prod.{u4, u7} l l') (Prod.{u5, u8} m m') (Prod.{u6, u9} n n') (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (Prod.fintype.{u5, u8} m m' _inst_6 _inst_7) (Distrib.toHasMul.{max u2 u3} (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u3} (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (Semiring.toNonAssocSemiring.{max u2 u3} (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, u3} R _inst_1 α _inst_2 _inst_4 β _inst_3 _inst_5))))) (TensorProduct.addCommMonoid.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u4, u5, u7, u8} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) l m l' m' (fun (_x : α) (_y : β) => TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5) _x _y) A A') (Matrix.kroneckerMap.{u2, u3, max u2 u3, u5, u6, u8, u9} α β (TensorProduct.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) m n m' n' (fun (_x : α) (_y : β) => TensorProduct.tmul.{u1, u2, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} α (Semiring.toNonAssocSemiring.{u2} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u2} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5) _x _y) B B'))
+but is expected to have type
+  forall (R : Type.{u1}) {α : Type.{u6}} {β : Type.{u3}} {l : Type.{u7}} {m : Type.{u9}} {n : Type.{u5}} {l' : Type.{u4}} {m' : Type.{u8}} {n' : Type.{u2}} [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Semiring.{u6} α] [_inst_3 : Semiring.{u3} β] [_inst_4 : Algebra.{u1, u6} R α _inst_1 _inst_2] [_inst_5 : Algebra.{u1, u3} R β _inst_1 _inst_3] [_inst_6 : Fintype.{u9} m] [_inst_7 : Fintype.{u8} m'] (A : Matrix.{u7, u9, u6} l m α) (B : Matrix.{u9, u5, u6} m n α) (A' : Matrix.{u4, u8, u3} l' m' β) (B' : Matrix.{u8, u2, u3} m' n' β), Eq.{max (max (max (max (max (succ u6) (succ u3)) (succ u7)) (succ u5)) (succ u4)) (succ u2)} (Matrix.{max u4 u7, max u2 u5, max u3 u6} (Prod.{u7, u4} l l') (Prod.{u5, u2} n n') (TensorProduct.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5))) (Matrix.kroneckerMap.{u6, u3, max u3 u6, u7, u5, u4, u2} α β (TensorProduct.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) l n l' n' (TensorProduct.tmul.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (Matrix.mul.{u6, u7, u9, u5} l m n α _inst_6 (NonUnitalNonAssocSemiring.toMul.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) A B) (Matrix.mul.{u3, u4, u8, u2} l' m' n' β _inst_7 (NonUnitalNonAssocSemiring.toMul.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) A' B')) (Matrix.mul.{max u3 u6, max u4 u7, max u8 u9, max u2 u5} (Prod.{u7, u4} l l') (Prod.{u9, u8} m m') (Prod.{u5, u2} n n') (TensorProduct.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (instFintypeProd.{u9, u8} m m' _inst_6 _inst_7) (NonUnitalNonAssocSemiring.toMul.{max u6 u3} (TensorProduct.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u6 u3} (TensorProduct.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (Semiring.toNonAssocSemiring.{max u6 u3} (TensorProduct.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u6, u3} R _inst_1 α _inst_2 _inst_4 β _inst_3 _inst_5)))) (Algebra.TensorProduct.instAddCommMonoidTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u6, u3} R _inst_1 α _inst_2 _inst_4 β _inst_3 _inst_5) (Matrix.kroneckerMap.{u6, u3, max u3 u6, u7, u9, u4, u8} α β (TensorProduct.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) l m l' m' (fun (_x : α) (_y : β) => TensorProduct.tmul.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5) _x _y) A A') (Matrix.kroneckerMap.{u6, u3, max u3 u6, u9, u5, u8, u2} α β (TensorProduct.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5)) m n m' n' (fun (_x : α) (_y : β) => TensorProduct.tmul.{u1, u6, u3} R _inst_1 α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} α (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} α (Semiring.toNonAssocSemiring.{u6} α _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} β (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} β (Semiring.toNonAssocSemiring.{u3} β _inst_3))) (Algebra.toModule.{u1, u6} R α _inst_1 _inst_2 _inst_4) (Algebra.toModule.{u1, u3} R β _inst_1 _inst_3 _inst_5) _x _y) B B'))
+Case conversion may be inaccurate. Consider using '#align matrix.mul_kronecker_tmul_mul Matrix.mul_kroneckerTMul_mulₓ'. -/
+theorem mul_kroneckerTMul_mul [Fintype m] [Fintype m'] (A : Matrix l m α) (B : Matrix m n α)
     (A' : Matrix l' m' β) (B' : Matrix m' n' β) : (A ⬝ B) ⊗ₖₜ[R] (A' ⬝ B') = A ⊗ₖₜ A' ⬝ B ⊗ₖₜ B' :=
   kroneckerMapBilinear_mul_mul (TensorProduct.mk R α β) tmul_mul_tmul A B A' B'
-#align matrix.mul_kronecker_tmul_mul Matrix.mul_kronecker_tmul_mul
+#align matrix.mul_kronecker_tmul_mul Matrix.mul_kroneckerTMul_mul
 
 end Semiring
 
@@ -558,8 +904,14 @@ section CommRing
 
 variable [CommRing R] [CommRing α] [CommRing β] [Algebra R α] [Algebra R β]
 
-theorem det_kronecker_tmul [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n]
-    (A : Matrix m m α) (B : Matrix n n β) :
+/- warning: matrix.det_kronecker_tmul -> Matrix.det_kroneckerTMul is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) {α : Type.{u2}} {β : Type.{u3}} {m : Type.{u4}} {n : Type.{u5}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u2} α] [_inst_3 : CommRing.{u3} β] [_inst_4 : Algebra.{u1, u2} R α (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} α (CommRing.toRing.{u2} α _inst_2))] [_inst_5 : Algebra.{u1, u3} R β (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} β (CommRing.toRing.{u3} β _inst_3))] [_inst_6 : Fintype.{u4} m] [_inst_7 : Fintype.{u5} n] [_inst_8 : DecidableEq.{succ u4} m] [_inst_9 : DecidableEq.{succ u5} n] (A : Matrix.{u4, u4, u2} m m α) (B : Matrix.{u5, u5, u3} n n β), Eq.{succ (max u2 u3)} (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_2))))) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_3))))) (Algebra.toModule.{u1, u2} R α (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} α (CommRing.toRing.{u2} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u3} R β (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} β (CommRing.toRing.{u3} β _inst_3)) _inst_5)) (Matrix.det.{max u2 u3, max u4 u5} (Prod.{u4, u5} m n) (fun (a : Prod.{u4, u5} m n) (b : Prod.{u4, u5} m n) => Prod.Lex.decidableEq.{u4, u5} m n (fun (a : m) (b : m) => _inst_8 a b) (fun (a : n) (b : n) => _inst_9 a b) a b) (Prod.fintype.{u4, u5} m n _inst_6 _inst_7) (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_2))))) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_3))))) (Algebra.toModule.{u1, u2} R α (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} α (CommRing.toRing.{u2} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u3} R β (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} β (CommRing.toRing.{u3} β _inst_3)) _inst_5)) (Algebra.TensorProduct.TensorProduct.commRing.{u1, u2, u3} R _inst_1 α _inst_2 _inst_4 β _inst_3 _inst_5) (Matrix.kroneckerMap.{u2, u3, max u2 u3, u4, u4, u5, u5} α β (TensorProduct.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_2))))) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_3))))) (Algebra.toModule.{u1, u2} R α (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} α (CommRing.toRing.{u2} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u3} R β (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} β (CommRing.toRing.{u3} β _inst_3)) _inst_5)) m m n n (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_2))))) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_3))))) (Algebra.toModule.{u1, u2} R α (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} α (CommRing.toRing.{u2} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u3} R β (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} β (CommRing.toRing.{u3} β _inst_3)) _inst_5)) A B)) (TensorProduct.tmul.{u1, u2, u3} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (AddCommGroup.toAddCommMonoid.{u2} α (NonUnitalNonAssocRing.toAddCommGroup.{u2} α (NonAssocRing.toNonUnitalNonAssocRing.{u2} α (Ring.toNonAssocRing.{u2} α (CommRing.toRing.{u2} α _inst_2))))) (AddCommGroup.toAddCommMonoid.{u3} β (NonUnitalNonAssocRing.toAddCommGroup.{u3} β (NonAssocRing.toNonUnitalNonAssocRing.{u3} β (Ring.toNonAssocRing.{u3} β (CommRing.toRing.{u3} β _inst_3))))) (Algebra.toModule.{u1, u2} R α (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u2} α (CommRing.toRing.{u2} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u3} R β (CommRing.toCommSemiring.{u1} R _inst_1) (Ring.toSemiring.{u3} β (CommRing.toRing.{u3} β _inst_3)) _inst_5) (HPow.hPow.{u2, 0, u2} α Nat α (instHPow.{u2, 0} α Nat (Monoid.Pow.{u2} α (Ring.toMonoid.{u2} α (CommRing.toRing.{u2} α _inst_2)))) (Matrix.det.{u2, u4} m (fun (a : m) (b : m) => _inst_8 a b) _inst_6 α _inst_2 A) (Fintype.card.{u5} n _inst_7)) (HPow.hPow.{u3, 0, u3} β Nat β (instHPow.{u3, 0} β Nat (Monoid.Pow.{u3} β (Ring.toMonoid.{u3} β (CommRing.toRing.{u3} β _inst_3)))) (Matrix.det.{u3, u5} n (fun (a : n) (b : n) => _inst_9 a b) _inst_7 β _inst_3 B) (Fintype.card.{u4} m _inst_6)))
+but is expected to have type
+  forall (R : Type.{u1}) {α : Type.{u3}} {β : Type.{u2}} {m : Type.{u5}} {n : Type.{u4}} [_inst_1 : CommRing.{u1} R] [_inst_2 : CommRing.{u3} α] [_inst_3 : CommRing.{u2} β] [_inst_4 : Algebra.{u1, u3} R α (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_2))] [_inst_5 : Algebra.{u1, u2} R β (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_3))] [_inst_6 : Fintype.{u5} m] [_inst_7 : Fintype.{u4} n] [_inst_8 : DecidableEq.{succ u5} m] [_inst_9 : DecidableEq.{succ u4} n] (A : Matrix.{u5, u5, u3} m m α) (B : Matrix.{u4, u4, u2} n n β), Eq.{max (succ u3) (succ u2)} (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_3))))) (Algebra.toModule.{u1, u3} R α (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u2} R β (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_3)) _inst_5)) (Matrix.det.{max u2 u3, max u4 u5} (Prod.{u5, u4} m n) (fun (a : Prod.{u5, u4} m n) (b : Prod.{u5, u4} m n) => instDecidableEqProd.{u5, u4} m n (fun (a : m) (b : m) => _inst_8 a b) (fun (a : n) (b : n) => _inst_9 a b) a b) (instFintypeProd.{u5, u4} m n _inst_6 _inst_7) (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_3))))) (Algebra.toModule.{u1, u3} R α (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u2} R β (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_3)) _inst_5)) (Algebra.TensorProduct.instCommRingTensorProductToCommSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingToRingToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonAssocRingToRingToModuleToSemiringToCommSemiringToModuleToSemiringToCommSemiring.{u1, u3, u2} R _inst_1 α _inst_2 _inst_4 β _inst_3 _inst_5) (Matrix.kroneckerMap.{u3, u2, max u2 u3, u5, u5, u4, u4} α β (TensorProduct.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_3))))) (Algebra.toModule.{u1, u3} R α (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u2} R β (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_3)) _inst_5)) m m n n (TensorProduct.tmul.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_3))))) (Algebra.toModule.{u1, u3} R α (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u2} R β (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_3)) _inst_5)) A B)) (TensorProduct.tmul.{u1, u3, u2} R (CommRing.toCommSemiring.{u1} R _inst_1) α β (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} α (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} α (NonAssocRing.toNonUnitalNonAssocRing.{u3} α (Ring.toNonAssocRing.{u3} α (CommRing.toRing.{u3} α _inst_2))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} β (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u2} β (NonAssocRing.toNonUnitalNonAssocRing.{u2} β (Ring.toNonAssocRing.{u2} β (CommRing.toRing.{u2} β _inst_3))))) (Algebra.toModule.{u1, u3} R α (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_2)) _inst_4) (Algebra.toModule.{u1, u2} R β (CommRing.toCommSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_3)) _inst_5) (HPow.hPow.{u3, 0, u3} α Nat α (instHPow.{u3, 0} α Nat (Monoid.Pow.{u3} α (MonoidWithZero.toMonoid.{u3} α (Semiring.toMonoidWithZero.{u3} α (CommSemiring.toSemiring.{u3} α (CommRing.toCommSemiring.{u3} α _inst_2)))))) (Matrix.det.{u3, u5} m (fun (a : m) (b : m) => _inst_8 a b) _inst_6 α _inst_2 A) (Fintype.card.{u4} n _inst_7)) (HPow.hPow.{u2, 0, u2} β Nat β (instHPow.{u2, 0} β Nat (Monoid.Pow.{u2} β (MonoidWithZero.toMonoid.{u2} β (Semiring.toMonoidWithZero.{u2} β (CommSemiring.toSemiring.{u2} β (CommRing.toCommSemiring.{u2} β _inst_3)))))) (Matrix.det.{u2, u4} n (fun (a : n) (b : n) => _inst_9 a b) _inst_7 β _inst_3 B) (Fintype.card.{u5} m _inst_6)))
+Case conversion may be inaccurate. Consider using '#align matrix.det_kronecker_tmul Matrix.det_kroneckerTMulₓ'. -/
+theorem det_kroneckerTMul [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] (A : Matrix m m α)
+    (B : Matrix n n β) :
     det (A ⊗ₖₜ[R] B) = (det A ^ Fintype.card n) ⊗ₜ[R] (det B ^ Fintype.card m) :=
   by
   refine' (det_kronecker_map_bilinear (TensorProduct.mk R α β) tmul_mul_tmul _ _).trans _
@@ -567,7 +919,7 @@ theorem det_kronecker_tmul [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq
   simp only [← AlgHom.mapMatrix_apply, ← AlgHom.map_det]
   simp only [include_left_apply, include_right_apply, tmul_pow, tmul_mul_tmul, one_pow,
     _root_.mul_one, _root_.one_mul]
-#align matrix.det_kronecker_tmul Matrix.det_kronecker_tmul
+#align matrix.det_kronecker_tmul Matrix.det_kroneckerTMul
 
 end CommRing
 
Diff
@@ -292,7 +292,7 @@ theorem kronecker_apply [Mul α] (A : Matrix l m α) (B : Matrix n p α) (i₁ i
 /-- `matrix.kronecker` as a bilinear map. -/
 def kroneckerBilinear [CommSemiring R] [Semiring α] [Algebra R α] :
     Matrix l m α →ₗ[R] Matrix n p α →ₗ[R] Matrix (l × n) (m × p) α :=
-  kroneckerMapBilinear (LinearMap.Algebra.lmul R α)
+  kroneckerMapBilinear (Algebra.lmul R α)
 #align matrix.kronecker_bilinear Matrix.kroneckerBilinear
 
 /-! What follows is a copy, in order, of every `matrix.kronecker_map` lemma above that has
@@ -366,7 +366,7 @@ theorem one_kronecker [MulZeroOneClass α] [DecidableEq l] (B : Matrix m n α) :
 theorem mul_kronecker_mul [Fintype m] [Fintype m'] [CommSemiring α] (A : Matrix l m α)
     (B : Matrix m n α) (A' : Matrix l' m' α) (B' : Matrix m' n' α) :
     (A ⬝ B) ⊗ₖ (A' ⬝ B') = A ⊗ₖ A' ⬝ B ⊗ₖ B' :=
-  kroneckerMapBilinear_mul_mul (LinearMap.Algebra.lmul ℕ α).toLinearMap mul_mul_mul_comm A B A' B'
+  kroneckerMapBilinear_mul_mul (Algebra.lmul ℕ α).toLinearMap mul_mul_mul_comm A B A' B'
 #align matrix.mul_kronecker_mul Matrix.mul_kronecker_mul
 
 @[simp]
@@ -377,16 +377,14 @@ theorem kronecker_assoc [Semigroup α] (A : Matrix l m α) (B : Matrix n p α) (
 
 theorem trace_kronecker [Fintype m] [Fintype n] [Semiring α] (A : Matrix m m α) (B : Matrix n n α) :
     trace (A ⊗ₖ B) = trace A * trace B :=
-  trace_kroneckerMapBilinear (LinearMap.Algebra.lmul ℕ α).toLinearMap _ _
+  trace_kroneckerMapBilinear (Algebra.lmul ℕ α).toLinearMap _ _
 #align matrix.trace_kronecker Matrix.trace_kronecker
 
 theorem det_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [CommRing R]
     (A : Matrix m m R) (B : Matrix n n R) :
     det (A ⊗ₖ B) = det A ^ Fintype.card n * det B ^ Fintype.card m :=
   by
-  refine'
-    (det_kronecker_map_bilinear (LinearMap.Algebra.lmul ℕ R).toLinearMap mul_mul_mul_comm _ _).trans
-      _
+  refine' (det_kronecker_map_bilinear (Algebra.lmul ℕ R).toLinearMap mul_mul_mul_comm _ _).trans _
   congr 3
   · ext (i j)
     exact mul_one _
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Filippo A. E. Nuccio, Eric Wieser
 
 ! This file was ported from Lean 3 source module data.matrix.kronecker
-! leanprover-community/mathlib commit 945bc74ecd6c7435f33e080af142c1cfe8d2e289
+! leanprover-community/mathlib commit 3e068ece210655b7b9a9477c3aff38a492400aa1
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -57,18 +57,18 @@ variable {l m n p : Type _} {q r : Type _} {l' m' n' p' : Type _}
 
 section KroneckerMap
 
-/- warning: matrix.kronecker_map -> Matrix.kroneckerMap is a dubious translation:
-lean 3 declaration is
-  forall {α : Type.{u1}} {β : Type.{u2}} {γ : Type.{u3}} {l : Type.{u4}} {m : Type.{u5}} {n : Type.{u6}} {p : Type.{u7}}, (α -> β -> γ) -> (Matrix.{u4, u5, u1} l m α) -> (Matrix.{u6, u7, u2} n p β) -> (Matrix.{max u4 u6, max u5 u7, u3} (Prod.{u4, u6} l n) (Prod.{u5, u7} m p) γ)
-but is expected to have type
-  forall {α : Type.{u3}} {β : Type.{u4}} {γ : Type.{u5}} {l : Type.{u6}} {m : Type.{u7}} {n : Type.{u1}} {p : Type.{u2}}, (α -> β -> γ) -> (Matrix.{u6, u7, u3} l m α) -> (Matrix.{u1, u2, u4} n p β) -> (Matrix.{max u6 u1, max u7 u2, u5} (Prod.{u6, u1} l n) (Prod.{u7, u2} m p) γ)
-Case conversion may be inaccurate. Consider using '#align matrix.kronecker_map Matrix.kroneckerMapₓ'. -/
 /-- Produce a matrix with `f` applied to every pair of elements from `A` and `B`. -/
-@[simp]
-def kroneckerMap (f : α → β → γ) (A : Matrix l m α) (B : Matrix n p β) : Matrix (l × n) (m × p) γ
-  | i, j => f (A i.1 j.1) (B i.2 j.2)
+def kroneckerMap (f : α → β → γ) (A : Matrix l m α) (B : Matrix n p β) : Matrix (l × n) (m × p) γ :=
+  of fun (i : l × n) (j : m × p) => f (A i.1 j.1) (B i.2 j.2)
 #align matrix.kronecker_map Matrix.kroneckerMap
 
+-- TODO: set as an equation lemma for `kronecker_map`, see mathlib4#3024
+@[simp]
+theorem kroneckerMap_apply (f : α → β → γ) (A : Matrix l m α) (B : Matrix n p β) (i j) :
+    kroneckerMap f A B i j = f (A i.1 j.1) (B i.2 j.2) :=
+  rfl
+#align matrix.kronecker_map_apply Matrix.kroneckerMap_apply
+
 theorem kroneckerMap_transpose (f : α → β → γ) (A : Matrix l m α) (B : Matrix n p β) :
     kroneckerMap f Aᵀ Bᵀ = (kroneckerMap f A B)ᵀ :=
   ext fun i j => rfl
@@ -223,7 +223,7 @@ theorem kroneckerMapBilinear_mul_mul [CommSemiring R] [Fintype m] [Fintype m']
   by
   ext (⟨i, i'⟩⟨j, j'⟩)
   simp only [kronecker_map_bilinear_apply_apply, mul_apply, ← Finset.univ_product_univ,
-    Finset.sum_product, kronecker_map]
+    Finset.sum_product, kronecker_map_apply]
   simp_rw [f.map_sum, LinearMap.sum_apply, LinearMap.map_sum, h_comm]
 #align matrix.kronecker_map_bilinear_mul_mul Matrix.kroneckerMapBilinear_mul_mul
 
@@ -235,7 +235,7 @@ theorem trace_kroneckerMapBilinear [CommSemiring R] [Fintype m] [Fintype n] [Add
     (f : α →ₗ[R] β →ₗ[R] γ) (A : Matrix m m α) (B : Matrix n n β) :
     trace (kroneckerMapBilinear f A B) = f (trace A) (trace B) := by
   simp_rw [Matrix.trace, Matrix.diag, kronecker_map_bilinear_apply_apply, LinearMap.map_sum₂,
-    map_sum, ← Finset.univ_product_univ, Finset.sum_product, kronecker_map]
+    map_sum, ← Finset.univ_product_univ, Finset.sum_product, kronecker_map_apply]
 #align matrix.trace_kronecker_map_bilinear Matrix.trace_kroneckerMapBilinear
 
 /-- `determinant` of `matrix.kronecker_map_bilinear`.
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Filippo A. E. Nuccio, Eric Wieser
 
 ! This file was ported from Lean 3 source module data.matrix.kronecker
-! leanprover-community/mathlib commit 40cc79df33fb2b67e0dabd815d8e4340592e5bff
+! leanprover-community/mathlib commit 945bc74ecd6c7435f33e080af142c1cfe8d2e289
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -271,8 +271,6 @@ end KroneckerMap
 
 section Kronecker
 
-variable (R)
-
 open Matrix
 
 /-- The Kronecker product. This is just a shorthand for `kronecker_map (*)`. Prefer the notation
Diff
@@ -4,11 +4,14 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Filippo A. E. Nuccio, Eric Wieser
 
 ! This file was ported from Lean 3 source module data.matrix.kronecker
-! leanprover-community/mathlib commit 3d7987cda72abc473c7cdbbb075170e9ac620042
+! leanprover-community/mathlib commit 40cc79df33fb2b67e0dabd815d8e4340592e5bff
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
 import Mathbin.Data.Matrix.Basic
+import Mathbin.Data.Matrix.Block
+import Mathbin.LinearAlgebra.Matrix.Determinant
+import Mathbin.LinearAlgebra.Matrix.NonsingularInverse
 import Mathbin.LinearAlgebra.TensorProduct
 import Mathbin.RingTheory.TensorProduct
 
@@ -130,6 +133,24 @@ theorem kroneckerMap_diagonal_diagonal [Zero α] [Zero β] [Zero γ] [DecidableE
   simp [diagonal, apply_ite f, ite_and, ite_apply, apply_ite (f (a i₁)), hf₁, hf₂]
 #align matrix.kronecker_map_diagonal_diagonal Matrix.kroneckerMap_diagonal_diagonal
 
+theorem kroneckerMap_diagonal_right [Zero β] [Zero γ] [DecidableEq n] (f : α → β → γ)
+    (hf : ∀ a, f a 0 = 0) (A : Matrix l m α) (b : n → β) :
+    kroneckerMap f A (diagonal b) = blockDiagonal fun i => A.map fun a => f a (b i) :=
+  by
+  ext (⟨i₁, i₂⟩⟨j₁, j₂⟩)
+  simp [diagonal, block_diagonal, apply_ite (f (A i₁ j₁)), hf]
+#align matrix.kronecker_map_diagonal_right Matrix.kroneckerMap_diagonal_right
+
+theorem kroneckerMap_diagonal_left [Zero α] [Zero γ] [DecidableEq l] (f : α → β → γ)
+    (hf : ∀ b, f 0 b = 0) (a : l → α) (B : Matrix m n β) :
+    kroneckerMap f (diagonal a) B =
+      Matrix.reindex (Equiv.prodComm _ _) (Equiv.prodComm _ _)
+        (blockDiagonal fun i => B.map fun b => f (a i) b) :=
+  by
+  ext (⟨i₁, i₂⟩⟨j₁, j₂⟩)
+  simp [diagonal, block_diagonal, apply_ite f, ite_apply, hf]
+#align matrix.kronecker_map_diagonal_left Matrix.kroneckerMap_diagonal_left
+
 @[simp]
 theorem kroneckerMap_one_one [Zero α] [Zero β] [Zero γ] [One α] [One β] [One γ] [DecidableEq m]
     [DecidableEq n] (f : α → β → γ) (hf₁ : ∀ b, f 0 b = 0) (hf₂ : ∀ a, f a 0 = 0)
@@ -206,6 +227,43 @@ theorem kroneckerMapBilinear_mul_mul [CommSemiring R] [Fintype m] [Fintype m']
   simp_rw [f.map_sum, LinearMap.sum_apply, LinearMap.map_sum, h_comm]
 #align matrix.kronecker_map_bilinear_mul_mul Matrix.kroneckerMapBilinear_mul_mul
 
+/-- `trace` distributes over `matrix.kronecker_map_bilinear`.
+
+This is primarily used with `R = ℕ` to prove `matrix.trace_kronecker`. -/
+theorem trace_kroneckerMapBilinear [CommSemiring R] [Fintype m] [Fintype n] [AddCommMonoid α]
+    [AddCommMonoid β] [AddCommMonoid γ] [Module R α] [Module R β] [Module R γ]
+    (f : α →ₗ[R] β →ₗ[R] γ) (A : Matrix m m α) (B : Matrix n n β) :
+    trace (kroneckerMapBilinear f A B) = f (trace A) (trace B) := by
+  simp_rw [Matrix.trace, Matrix.diag, kronecker_map_bilinear_apply_apply, LinearMap.map_sum₂,
+    map_sum, ← Finset.univ_product_univ, Finset.sum_product, kronecker_map]
+#align matrix.trace_kronecker_map_bilinear Matrix.trace_kroneckerMapBilinear
+
+/-- `determinant` of `matrix.kronecker_map_bilinear`.
+
+This is primarily used with `R = ℕ` to prove `matrix.det_kronecker`. -/
+theorem det_kroneckerMapBilinear [CommSemiring R] [Fintype m] [Fintype n] [DecidableEq m]
+    [DecidableEq n] [CommRing α] [CommRing β] [CommRing γ] [Module R α] [Module R β] [Module R γ]
+    (f : α →ₗ[R] β →ₗ[R] γ) (h_comm : ∀ a b a' b', f (a * b) (a' * b') = f a a' * f b b')
+    (A : Matrix m m α) (B : Matrix n n β) :
+    det (kroneckerMapBilinear f A B) =
+      det (A.map fun a => f a 1) ^ Fintype.card n * det (B.map fun b => f 1 b) ^ Fintype.card m :=
+  calc
+    det (kroneckerMapBilinear f A B) =
+        det (kroneckerMapBilinear f A 1 ⬝ kroneckerMapBilinear f 1 B) :=
+      by rw [← kronecker_map_bilinear_mul_mul f h_comm, Matrix.mul_one, Matrix.one_mul]
+    _ =
+        det (blockDiagonal fun _ => A.map fun a => f a 1) *
+          det (blockDiagonal fun _ => B.map fun b => f 1 b) :=
+      by
+      rw [det_mul, ← diagonal_one, ← diagonal_one, kronecker_map_bilinear_apply_apply,
+        kronecker_map_diagonal_right _ fun _ => _, kronecker_map_bilinear_apply_apply,
+        kronecker_map_diagonal_left _ fun _ => _, det_reindex_self]
+      · exact LinearMap.map_zero₂ _ _
+      · exact map_zero _
+    _ = _ := by simp_rw [det_block_diagonal, Finset.prod_const, Finset.card_univ]
+    
+#align matrix.det_kronecker_map_bilinear Matrix.det_kroneckerMapBilinear
+
 end KroneckerMap
 
 /-! ### Specialization to `matrix.kronecker_map (*)` -/
@@ -278,12 +336,35 @@ theorem diagonal_kronecker_diagonal [MulZeroClass α] [DecidableEq m] [Decidable
   kroneckerMap_diagonal_diagonal _ MulZeroClass.zero_mul MulZeroClass.mul_zero _ _
 #align matrix.diagonal_kronecker_diagonal Matrix.diagonal_kronecker_diagonal
 
+theorem kronecker_diagonal [MulZeroClass α] [DecidableEq n] (A : Matrix l m α) (b : n → α) :
+    A ⊗ₖ diagonal b = blockDiagonal fun i => MulOpposite.op (b i) • A :=
+  kroneckerMap_diagonal_right _ MulZeroClass.mul_zero _ _
+#align matrix.kronecker_diagonal Matrix.kronecker_diagonal
+
+theorem diagonal_kronecker [MulZeroClass α] [DecidableEq l] (a : l → α) (B : Matrix m n α) :
+    diagonal a ⊗ₖ B =
+      Matrix.reindex (Equiv.prodComm _ _) (Equiv.prodComm _ _) (blockDiagonal fun i => a i • B) :=
+  kroneckerMap_diagonal_left _ MulZeroClass.zero_mul _ _
+#align matrix.diagonal_kronecker Matrix.diagonal_kronecker
+
 @[simp]
 theorem one_kronecker_one [MulZeroOneClass α] [DecidableEq m] [DecidableEq n] :
     (1 : Matrix m m α) ⊗ₖ (1 : Matrix n n α) = 1 :=
   kroneckerMap_one_one _ MulZeroClass.zero_mul MulZeroClass.mul_zero (one_mul _)
 #align matrix.one_kronecker_one Matrix.one_kronecker_one
 
+theorem kronecker_one [MulZeroOneClass α] [DecidableEq n] (A : Matrix l m α) :
+    A ⊗ₖ (1 : Matrix n n α) = blockDiagonal fun i => A :=
+  (kronecker_diagonal _ _).trans <| congr_arg _ <| funext fun _ => Matrix.ext fun _ _ => mul_one _
+#align matrix.kronecker_one Matrix.kronecker_one
+
+theorem one_kronecker [MulZeroOneClass α] [DecidableEq l] (B : Matrix m n α) :
+    (1 : Matrix l l α) ⊗ₖ B =
+      Matrix.reindex (Equiv.prodComm _ _) (Equiv.prodComm _ _) (blockDiagonal fun i => B) :=
+  (diagonal_kronecker _ _).trans <|
+    congr_arg _ <| congr_arg _ <| funext fun _ => Matrix.ext fun _ _ => one_mul _
+#align matrix.one_kronecker Matrix.one_kronecker
+
 theorem mul_kronecker_mul [Fintype m] [Fintype m'] [CommSemiring α] (A : Matrix l m α)
     (B : Matrix m n α) (A' : Matrix l' m' α) (B' : Matrix m' n' α) :
     (A ⬝ B) ⊗ₖ (A' ⬝ B') = A ⊗ₖ A' ⬝ B ⊗ₖ B' :=
@@ -296,6 +377,53 @@ theorem kronecker_assoc [Semigroup α] (A : Matrix l m α) (B : Matrix n p α) (
   kroneckerMap_assoc₁ _ _ _ _ A B C mul_assoc
 #align matrix.kronecker_assoc Matrix.kronecker_assoc
 
+theorem trace_kronecker [Fintype m] [Fintype n] [Semiring α] (A : Matrix m m α) (B : Matrix n n α) :
+    trace (A ⊗ₖ B) = trace A * trace B :=
+  trace_kroneckerMapBilinear (LinearMap.Algebra.lmul ℕ α).toLinearMap _ _
+#align matrix.trace_kronecker Matrix.trace_kronecker
+
+theorem det_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [CommRing R]
+    (A : Matrix m m R) (B : Matrix n n R) :
+    det (A ⊗ₖ B) = det A ^ Fintype.card n * det B ^ Fintype.card m :=
+  by
+  refine'
+    (det_kronecker_map_bilinear (LinearMap.Algebra.lmul ℕ R).toLinearMap mul_mul_mul_comm _ _).trans
+      _
+  congr 3
+  · ext (i j)
+    exact mul_one _
+  · ext (i j)
+    exact one_mul _
+#align matrix.det_kronecker Matrix.det_kronecker
+
+theorem inv_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [CommRing R]
+    (A : Matrix m m R) (B : Matrix n n R) : (A ⊗ₖ B)⁻¹ = A⁻¹ ⊗ₖ B⁻¹ :=
+  by
+  -- handle the special cases where either matrix is not invertible
+  by_cases hA : IsUnit A.det;
+  swap
+  · cases isEmpty_or_nonempty n
+    · exact Subsingleton.elim _ _
+    have hAB : ¬IsUnit (A ⊗ₖ B).det :=
+      by
+      refine' mt (fun hAB => _) hA
+      rw [det_kronecker] at hAB
+      exact (isUnit_pow_iff Fintype.card_ne_zero).mp (isUnit_of_mul_isUnit_left hAB)
+    rw [nonsing_inv_apply_not_is_unit _ hA, zero_kronecker, nonsing_inv_apply_not_is_unit _ hAB]
+  by_cases hB : IsUnit B.det; swap
+  · cases isEmpty_or_nonempty m
+    · exact Subsingleton.elim _ _
+    have hAB : ¬IsUnit (A ⊗ₖ B).det :=
+      by
+      refine' mt (fun hAB => _) hB
+      rw [det_kronecker] at hAB
+      exact (isUnit_pow_iff Fintype.card_ne_zero).mp (isUnit_of_mul_isUnit_right hAB)
+    rw [nonsing_inv_apply_not_is_unit _ hB, kronecker_zero, nonsing_inv_apply_not_is_unit _ hAB]
+  -- otherwise follows trivially from `mul_kronecker_mul`
+  · apply inv_eq_right_inv
+    rw [← mul_kronecker_mul, ← one_kronecker_one, mul_nonsing_inv _ hA, mul_nonsing_inv _ hB]
+#align matrix.inv_kronecker Matrix.inv_kronecker
+
 end Kronecker
 
 /-! ### Specialization to `matrix.kronecker_map (⊗ₜ)` -/
@@ -380,6 +508,18 @@ theorem diagonal_kronecker_tmul_diagonal [DecidableEq m] [DecidableEq n] (a : m
   kroneckerMap_diagonal_diagonal _ (zero_tmul _) (tmul_zero _) _ _
 #align matrix.diagonal_kronecker_tmul_diagonal Matrix.diagonal_kronecker_tmul_diagonal
 
+theorem kronecker_tmul_diagonal [DecidableEq n] (A : Matrix l m α) (b : n → α) :
+    A ⊗ₖₜ[R] diagonal b = blockDiagonal fun i => A.map fun a => a ⊗ₜ[R] b i :=
+  kroneckerMap_diagonal_right _ (tmul_zero _) _ _
+#align matrix.kronecker_tmul_diagonal Matrix.kronecker_tmul_diagonal
+
+theorem diagonal_kronecker_tmul [DecidableEq l] (a : l → α) (B : Matrix m n α) :
+    diagonal a ⊗ₖₜ[R] B =
+      Matrix.reindex (Equiv.prodComm _ _) (Equiv.prodComm _ _)
+        (blockDiagonal fun i => B.map fun b => a i ⊗ₜ[R] b) :=
+  kroneckerMap_diagonal_left _ (zero_tmul _) _ _
+#align matrix.diagonal_kronecker_tmul Matrix.diagonal_kronecker_tmul
+
 @[simp]
 theorem kronecker_tmul_assoc (A : Matrix l m α) (B : Matrix n p β) (C : Matrix q r γ) :
     reindex (Equiv.prodAssoc l n q) (Equiv.prodAssoc m p r)
@@ -388,16 +528,23 @@ theorem kronecker_tmul_assoc (A : Matrix l m α) (B : Matrix n p β) (C : Matrix
   ext fun i j => assoc_tmul _ _ _
 #align matrix.kronecker_tmul_assoc Matrix.kronecker_tmul_assoc
 
+theorem trace_kronecker_tmul [Fintype m] [Fintype n] (A : Matrix m m α) (B : Matrix n n β) :
+    trace (A ⊗ₖₜ[R] B) = trace A ⊗ₜ[R] trace B :=
+  trace_kroneckerMapBilinear (TensorProduct.mk R α β) _ _
+#align matrix.trace_kronecker_tmul Matrix.trace_kronecker_tmul
+
 end Module
 
 section Algebra
 
-variable [CommSemiring R] [Semiring α] [Semiring β] [Algebra R α] [Algebra R β]
-
 open Kronecker
 
 open Algebra.TensorProduct
 
+section Semiring
+
+variable [CommSemiring R] [Semiring α] [Semiring β] [Algebra R α] [Algebra R β]
+
 @[simp]
 theorem one_kronecker_tmul_one [DecidableEq m] [DecidableEq n] :
     (1 : Matrix m m α) ⊗ₖₜ[R] (1 : Matrix n n α) = 1 :=
@@ -409,6 +556,25 @@ theorem mul_kronecker_tmul_mul [Fintype m] [Fintype m'] (A : Matrix l m α) (B :
   kroneckerMapBilinear_mul_mul (TensorProduct.mk R α β) tmul_mul_tmul A B A' B'
 #align matrix.mul_kronecker_tmul_mul Matrix.mul_kronecker_tmul_mul
 
+end Semiring
+
+section CommRing
+
+variable [CommRing R] [CommRing α] [CommRing β] [Algebra R α] [Algebra R β]
+
+theorem det_kronecker_tmul [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n]
+    (A : Matrix m m α) (B : Matrix n n β) :
+    det (A ⊗ₖₜ[R] B) = (det A ^ Fintype.card n) ⊗ₜ[R] (det B ^ Fintype.card m) :=
+  by
+  refine' (det_kronecker_map_bilinear (TensorProduct.mk R α β) tmul_mul_tmul _ _).trans _
+  simp (config := { eta := false }) only [mk_apply, ← include_left_apply, ← include_right_apply]
+  simp only [← AlgHom.mapMatrix_apply, ← AlgHom.map_det]
+  simp only [include_left_apply, include_right_apply, tmul_pow, tmul_mul_tmul, one_pow,
+    _root_.mul_one, _root_.one_mul]
+#align matrix.det_kronecker_tmul Matrix.det_kronecker_tmul
+
+end CommRing
+
 end Algebra
 
 -- insert lemmas specific to `kronecker_tmul` below this line
Diff
@@ -245,12 +245,12 @@ hypotheses which can be filled by properties of `*`. -/
 
 @[simp]
 theorem zero_kronecker [MulZeroClass α] (B : Matrix n p α) : (0 : Matrix l m α) ⊗ₖ B = 0 :=
-  kroneckerMap_zero_left _ zero_mul B
+  kroneckerMap_zero_left _ MulZeroClass.zero_mul B
 #align matrix.zero_kronecker Matrix.zero_kronecker
 
 @[simp]
 theorem kronecker_zero [MulZeroClass α] (A : Matrix l m α) : A ⊗ₖ (0 : Matrix n p α) = 0 :=
-  kroneckerMap_zero_right _ mul_zero A
+  kroneckerMap_zero_right _ MulZeroClass.mul_zero A
 #align matrix.kronecker_zero Matrix.kronecker_zero
 
 theorem add_kronecker [Distrib α] (A₁ A₂ : Matrix l m α) (B : Matrix n p α) :
@@ -275,13 +275,13 @@ theorem kronecker_smul [Monoid R] [Monoid α] [MulAction R α] [SMulCommClass R
 
 theorem diagonal_kronecker_diagonal [MulZeroClass α] [DecidableEq m] [DecidableEq n] (a : m → α)
     (b : n → α) : diagonal a ⊗ₖ diagonal b = diagonal fun mn => a mn.1 * b mn.2 :=
-  kroneckerMap_diagonal_diagonal _ zero_mul mul_zero _ _
+  kroneckerMap_diagonal_diagonal _ MulZeroClass.zero_mul MulZeroClass.mul_zero _ _
 #align matrix.diagonal_kronecker_diagonal Matrix.diagonal_kronecker_diagonal
 
 @[simp]
 theorem one_kronecker_one [MulZeroOneClass α] [DecidableEq m] [DecidableEq n] :
     (1 : Matrix m m α) ⊗ₖ (1 : Matrix n n α) = 1 :=
-  kroneckerMap_one_one _ zero_mul mul_zero (one_mul _)
+  kroneckerMap_one_one _ MulZeroClass.zero_mul MulZeroClass.mul_zero (one_mul _)
 #align matrix.one_kronecker_one Matrix.one_kronecker_one
 
 theorem mul_kronecker_mul [Fintype m] [Fintype m'] [CommSemiring α] (A : Matrix l m α)
Diff
@@ -236,7 +236,7 @@ theorem kronecker_apply [Mul α] (A : Matrix l m α) (B : Matrix n p α) (i₁ i
 /-- `matrix.kronecker` as a bilinear map. -/
 def kroneckerBilinear [CommSemiring R] [Semiring α] [Algebra R α] :
     Matrix l m α →ₗ[R] Matrix n p α →ₗ[R] Matrix (l × n) (m × p) α :=
-  kroneckerMapBilinear (Algebra.lmul R α)
+  kroneckerMapBilinear (LinearMap.Algebra.lmul R α)
 #align matrix.kronecker_bilinear Matrix.kroneckerBilinear
 
 /-! What follows is a copy, in order, of every `matrix.kronecker_map` lemma above that has
@@ -287,7 +287,7 @@ theorem one_kronecker_one [MulZeroOneClass α] [DecidableEq m] [DecidableEq n] :
 theorem mul_kronecker_mul [Fintype m] [Fintype m'] [CommSemiring α] (A : Matrix l m α)
     (B : Matrix m n α) (A' : Matrix l' m' α) (B' : Matrix m' n' α) :
     (A ⬝ B) ⊗ₖ (A' ⬝ B') = A ⊗ₖ A' ⬝ B ⊗ₖ B' :=
-  kroneckerMapBilinear_mul_mul (Algebra.lmul ℕ α).toLinearMap mul_mul_mul_comm A B A' B'
+  kroneckerMapBilinear_mul_mul (LinearMap.Algebra.lmul ℕ α).toLinearMap mul_mul_mul_comm A B A' B'
 #align matrix.mul_kronecker_mul Matrix.mul_kronecker_mul
 
 @[simp]

Changes in mathlib4

mathlib3
mathlib4
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
@@ -49,7 +49,6 @@ namespace Matrix
 open Matrix
 
 variable {R α α' β β' γ γ' : Type*}
-
 variable {l m n p : Type*} {q r : Type*} {l' m' n' p' : Type*}
 
 section KroneckerMap
@@ -430,7 +429,6 @@ section Module
 suppress_compilation
 
 variable [CommSemiring R] [AddCommMonoid α] [AddCommMonoid β] [AddCommMonoid γ]
-
 variable [Module R α] [Module R β] [Module R γ]
 
 /-- The Kronecker tensor product. This is just a shorthand for `kroneckerMap (⊗ₜ)`.
Acl/reorg tensor product (#11282)

Move:

  • Mathlib/Algebra/Module/DirectLimitAndTensorProduct.lean to LinearAlgebra/TensorProduct/DirectLimit.lean
  • Mathlib/LinearAlgebra/TensorProduct to Mathlib/LinearAlgebra.TensorProduct.Basic.lean
  • Mathlib/RingTheory/TensorProduct to Mathlib/RingTheory/TensorProduct/Basic.lean.

This follows suggestions 1, 2, 3 of

https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/Tensor.20Products.20of.20modules.20and.20rings/near/424605543

Co-authored-by: Antoine Chambert-Loir <antoine.chambert-loir@math.univ-paris-diderot.fr>

Diff
@@ -7,8 +7,8 @@ import Mathlib.Data.Matrix.Basic
 import Mathlib.Data.Matrix.Block
 import Mathlib.LinearAlgebra.Matrix.Determinant
 import Mathlib.LinearAlgebra.Matrix.NonsingularInverse
-import Mathlib.LinearAlgebra.TensorProduct
-import Mathlib.RingTheory.TensorProduct
+import Mathlib.LinearAlgebra.TensorProduct.Basic
+import Mathlib.RingTheory.TensorProduct.Basic
 
 #align_import data.matrix.kronecker from "leanprover-community/mathlib"@"3e068ece210655b7b9a9477c3aff38a492400aa1"
 
chore: classify simp can do this porting notes (#10619)

Classify by adding issue number (#10618) to porting notes claiming anything semantically equivalent to simp can prove this or simp can simplify this.

Diff
@@ -289,12 +289,12 @@ def kroneckerBilinear [CommSemiring R] [Semiring α] [Algebra R α] :
 hypotheses which can be filled by properties of `*`. -/
 
 
--- @[simp] -- Porting note: simp can prove this
+-- @[simp] -- Porting note (#10618): simp can prove this
 theorem zero_kronecker [MulZeroClass α] (B : Matrix n p α) : (0 : Matrix l m α) ⊗ₖ B = 0 :=
   kroneckerMap_zero_left _ zero_mul B
 #align matrix.zero_kronecker Matrix.zero_kronecker
 
--- @[simp] -- Porting note: simp can prove this
+-- @[simp] -- Porting note (#10618): simp can prove this
 theorem kronecker_zero [MulZeroClass α] (A : Matrix l m α) : A ⊗ₖ (0 : Matrix n p α) = 0 :=
   kroneckerMap_zero_right _ mul_zero A
 #align matrix.kronecker_zero Matrix.kronecker_zero
@@ -335,7 +335,7 @@ theorem diagonal_kronecker [MulZeroClass α] [DecidableEq l] (a : l → α) (B :
   kroneckerMap_diagonal_left _ zero_mul _ _
 #align matrix.diagonal_kronecker Matrix.diagonal_kronecker
 
--- @[simp] -- Porting note: simp can prove this
+-- @[simp] -- Porting note (#10618): simp can prove this
 theorem one_kronecker_one [MulZeroOneClass α] [DecidableEq m] [DecidableEq n] :
     (1 : Matrix m m α) ⊗ₖ (1 : Matrix n n α) = 1 :=
   kroneckerMap_one_one _ zero_mul mul_zero (one_mul _)
@@ -463,12 +463,12 @@ def kroneckerTMulBilinear :
 hypotheses which can be filled by properties of `⊗ₜ`. -/
 
 
--- @[simp] -- Porting note: simp can prove this
+-- @[simp] -- Porting note (#10618): simp can prove this
 theorem zero_kroneckerTMul (B : Matrix n p β) : (0 : Matrix l m α) ⊗ₖₜ[R] B = 0 :=
   kroneckerMap_zero_left _ (zero_tmul α) B
 #align matrix.zero_kronecker_tmul Matrix.zero_kroneckerTMul
 
--- @[simp] -- Porting note: simp can prove this
+-- @[simp] -- Porting note (#10618): simp can prove this
 theorem kroneckerTMul_zero (A : Matrix l m α) : A ⊗ₖₜ[R] (0 : Matrix n p β) = 0 :=
   kroneckerMap_zero_right _ (tmul_zero β) A
 #align matrix.kronecker_tmul_zero Matrix.kroneckerTMul_zero
feat: use suppress_compilation in tensor products (#7504)

More principled version of #7281.

Diff
@@ -427,6 +427,8 @@ open Matrix TensorProduct
 
 section Module
 
+suppress_compilation
+
 variable [CommSemiring R] [AddCommMonoid α] [AddCommMonoid β] [AddCommMonoid γ]
 
 variable [Module R α] [Module R β] [Module R γ]
chore: use _root_.map_sum more consistently (#7189)

Also _root_.map_smul when in the neighbourhood.

Diff
@@ -216,7 +216,7 @@ theorem kroneckerMapBilinear_mul_mul [CommSemiring R] [Fintype m] [Fintype m']
   ext ⟨i, i'⟩ ⟨j, j'⟩
   simp only [kroneckerMapBilinear_apply_apply, mul_apply, ← Finset.univ_product_univ,
     Finset.sum_product, kroneckerMap_apply]
-  simp_rw [f.map_sum, LinearMap.sum_apply, LinearMap.map_sum, h_comm]
+  simp_rw [map_sum f, LinearMap.sum_apply, map_sum, h_comm]
 #align matrix.kronecker_map_bilinear_mul_mul Matrix.kroneckerMapBilinear_mul_mul
 
 /-- `trace` distributes over `Matrix.kroneckerMapBilinear`.
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
@@ -291,12 +291,12 @@ hypotheses which can be filled by properties of `*`. -/
 
 -- @[simp] -- Porting note: simp can prove this
 theorem zero_kronecker [MulZeroClass α] (B : Matrix n p α) : (0 : Matrix l m α) ⊗ₖ B = 0 :=
-  kroneckerMap_zero_left _ MulZeroClass.zero_mul B
+  kroneckerMap_zero_left _ zero_mul B
 #align matrix.zero_kronecker Matrix.zero_kronecker
 
 -- @[simp] -- Porting note: simp can prove this
 theorem kronecker_zero [MulZeroClass α] (A : Matrix l m α) : A ⊗ₖ (0 : Matrix n p α) = 0 :=
-  kroneckerMap_zero_right _ MulZeroClass.mul_zero A
+  kroneckerMap_zero_right _ mul_zero A
 #align matrix.kronecker_zero Matrix.kronecker_zero
 
 theorem add_kronecker [Distrib α] (A₁ A₂ : Matrix l m α) (B : Matrix n p α) :
@@ -321,24 +321,24 @@ theorem kronecker_smul [Monoid R] [Monoid α] [MulAction R α] [SMulCommClass R
 
 theorem diagonal_kronecker_diagonal [MulZeroClass α] [DecidableEq m] [DecidableEq n] (a : m → α)
     (b : n → α) : diagonal a ⊗ₖ diagonal b = diagonal fun mn => a mn.1 * b mn.2 :=
-  kroneckerMap_diagonal_diagonal _ MulZeroClass.zero_mul MulZeroClass.mul_zero _ _
+  kroneckerMap_diagonal_diagonal _ zero_mul mul_zero _ _
 #align matrix.diagonal_kronecker_diagonal Matrix.diagonal_kronecker_diagonal
 
 theorem kronecker_diagonal [MulZeroClass α] [DecidableEq n] (A : Matrix l m α) (b : n → α) :
     A ⊗ₖ diagonal b = blockDiagonal fun i => MulOpposite.op (b i) • A :=
-  kroneckerMap_diagonal_right _ MulZeroClass.mul_zero _ _
+  kroneckerMap_diagonal_right _ mul_zero _ _
 #align matrix.kronecker_diagonal Matrix.kronecker_diagonal
 
 theorem diagonal_kronecker [MulZeroClass α] [DecidableEq l] (a : l → α) (B : Matrix m n α) :
     diagonal a ⊗ₖ B =
       Matrix.reindex (Equiv.prodComm _ _) (Equiv.prodComm _ _) (blockDiagonal fun i => a i • B) :=
-  kroneckerMap_diagonal_left _ MulZeroClass.zero_mul _ _
+  kroneckerMap_diagonal_left _ zero_mul _ _
 #align matrix.diagonal_kronecker Matrix.diagonal_kronecker
 
 -- @[simp] -- Porting note: simp can prove this
 theorem one_kronecker_one [MulZeroOneClass α] [DecidableEq m] [DecidableEq n] :
     (1 : Matrix m m α) ⊗ₖ (1 : Matrix n n α) = 1 :=
-  kroneckerMap_one_one _ MulZeroClass.zero_mul MulZeroClass.mul_zero (one_mul _)
+  kroneckerMap_one_one _ zero_mul mul_zero (one_mul _)
 #align matrix.one_kronecker_one Matrix.one_kronecker_one
 
 theorem kronecker_one [MulZeroOneClass α] [DecidableEq n] (A : Matrix l m α) :
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
@@ -203,7 +203,7 @@ def kroneckerMapBilinear [CommSemiring R] [AddCommMonoid α] [AddCommMonoid β]
     kroneckerMap_smul_right _ _ fun a => (f a).map_smul r
 #align matrix.kronecker_map_bilinear Matrix.kroneckerMapBilinear
 
-/-- `Matrix.kroneckerMapBilinear` commutes with `⬝` if `f` commutes with `*`.
+/-- `Matrix.kroneckerMapBilinear` commutes with `*` if `f` does.
 
 This is primarily used with `R = ℕ` to prove `Matrix.mul_kronecker_mul`. -/
 theorem kroneckerMapBilinear_mul_mul [CommSemiring R] [Fintype m] [Fintype m']
@@ -211,8 +211,8 @@ theorem kroneckerMapBilinear_mul_mul [CommSemiring R] [Fintype m] [Fintype m']
     [Module R α] [Module R β] [Module R γ] (f : α →ₗ[R] β →ₗ[R] γ)
     (h_comm : ∀ a b a' b', f (a * b) (a' * b') = f a a' * f b b') (A : Matrix l m α)
     (B : Matrix m n α) (A' : Matrix l' m' β) (B' : Matrix m' n' β) :
-    kroneckerMapBilinear f (A ⬝ B) (A' ⬝ B') =
-      kroneckerMapBilinear f A A' ⬝ kroneckerMapBilinear f B B' := by
+    kroneckerMapBilinear f (A * B) (A' * B') =
+      kroneckerMapBilinear f A A' * kroneckerMapBilinear f B B' := by
   ext ⟨i, i'⟩ ⟨j, j'⟩
   simp only [kroneckerMapBilinear_apply_apply, mul_apply, ← Finset.univ_product_univ,
     Finset.sum_product, kroneckerMap_apply]
@@ -241,7 +241,7 @@ theorem det_kroneckerMapBilinear [CommSemiring R] [Fintype m] [Fintype n] [Decid
       det (A.map fun a => f a 1) ^ Fintype.card n * det (B.map fun b => f 1 b) ^ Fintype.card m :=
   calc
     det (kroneckerMapBilinear f A B) =
-        det (kroneckerMapBilinear f A 1 ⬝ kroneckerMapBilinear f 1 B) :=
+        det (kroneckerMapBilinear f A 1 * kroneckerMapBilinear f 1 B) :=
       by rw [← kroneckerMapBilinear_mul_mul f h_comm, Matrix.mul_one, Matrix.one_mul]
     _ = det (blockDiagonal fun _ => A.map fun a => f a 1) *
         det (blockDiagonal fun _ => B.map fun b => f 1 b) := by
@@ -355,7 +355,7 @@ theorem one_kronecker [MulZeroOneClass α] [DecidableEq l] (B : Matrix m n α) :
 
 theorem mul_kronecker_mul [Fintype m] [Fintype m'] [CommSemiring α] (A : Matrix l m α)
     (B : Matrix m n α) (A' : Matrix l' m' α) (B' : Matrix m' n' α) :
-    (A ⬝ B) ⊗ₖ (A' ⬝ B') = A ⊗ₖ A' ⬝ B ⊗ₖ B' :=
+    (A * B) ⊗ₖ (A' * B') = A ⊗ₖ A' * B ⊗ₖ B' :=
   kroneckerMapBilinear_mul_mul (Algebra.lmul ℕ α).toLinearMap mul_mul_mul_comm A B A' B'
 #align matrix.mul_kronecker_mul Matrix.mul_kronecker_mul
 
@@ -546,7 +546,8 @@ theorem one_kroneckerTMul_one [DecidableEq m] [DecidableEq n] :
 #align matrix.one_kronecker_tmul_one Matrix.one_kroneckerTMul_one
 
 theorem mul_kroneckerTMul_mul [Fintype m] [Fintype m'] (A : Matrix l m α) (B : Matrix m n α)
-    (A' : Matrix l' m' β) (B' : Matrix m' n' β) : (A ⬝ B) ⊗ₖₜ[R] (A' ⬝ B') = A ⊗ₖₜ A' ⬝ B ⊗ₖₜ B' :=
+    (A' : Matrix l' m' β) (B' : Matrix m' n' β) :
+    (A * B) ⊗ₖₜ[R] (A' * B') = A ⊗ₖₜ[R] A' * B ⊗ₖₜ[R] B' :=
   kroneckerMapBilinear_mul_mul (TensorProduct.mk R α β) tmul_mul_tmul A B A' B'
 #align matrix.mul_kronecker_tmul_mul Matrix.mul_kroneckerTMul_mul
 
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
@@ -48,9 +48,9 @@ namespace Matrix
 
 open Matrix
 
-variable {R α α' β β' γ γ' : Type _}
+variable {R α α' β β' γ γ' : Type*}
 
-variable {l m n p : Type _} {q r : Type _} {l' m' n' p' : Type _}
+variable {l m n p : Type*} {q r : Type*} {l' m' n' p' : Type*}
 
 section KroneckerMap
 
@@ -174,7 +174,7 @@ theorem kroneckerMap_reindex_right (f : α → β → γ) (em : m ≃ m') (en :
   kroneckerMap_reindex _ (Equiv.refl _) (Equiv.refl _) _ _ _ _
 #align matrix.kronecker_map_reindex_right Matrix.kroneckerMap_reindex_right
 
-theorem kroneckerMap_assoc {δ ξ ω ω' : Type _} (f : α → β → γ) (g : γ → δ → ω) (f' : α → ξ → ω')
+theorem kroneckerMap_assoc {δ ξ ω ω' : Type*} (f : α → β → γ) (g : γ → δ → ω) (f' : α → ξ → ω')
     (g' : β → δ → ξ) (A : Matrix l m α) (B : Matrix n p β) (D : Matrix q r δ) (φ : ω ≃ ω')
     (hφ : ∀ a b d, φ (g (f a b) d) = f' a (g' b d)) :
     (reindex (Equiv.prodAssoc l n q) (Equiv.prodAssoc m p r)).trans (Equiv.mapMatrix φ)
@@ -183,7 +183,7 @@ theorem kroneckerMap_assoc {δ ξ ω ω' : Type _} (f : α → β → γ) (g : 
   ext fun _ _ => hφ _ _ _
 #align matrix.kronecker_map_assoc Matrix.kroneckerMap_assoc
 
-theorem kroneckerMap_assoc₁ {δ ξ ω : Type _} (f : α → β → γ) (g : γ → δ → ω) (f' : α → ξ → ω)
+theorem kroneckerMap_assoc₁ {δ ξ ω : Type*} (f : α → β → γ) (g : γ → δ → ω) (f' : α → ξ → ω)
     (g' : β → δ → ξ) (A : Matrix l m α) (B : Matrix n p β) (D : Matrix q r δ)
     (h : ∀ a b d, g (f a b) d = f' a (g' b d)) :
     reindex (Equiv.prodAssoc l n q) (Equiv.prodAssoc m p r)
feat(RingTheory/TensorProduct): heterogenize (#6417)

This:

  • Improves the module docstring, which was both out of date and not very informative
  • Addresses a TODO to generalize includeLeft to commuting actions. As a result a few downstream results are changed to be about includeLeftRingHom or a ⊗ₜ 1, as carrying around the extra useless ring just makes the lemmas harder to use. Nothing seems to suffer from this change.
  • Introduces TensorProduct.AlgebraTensorModule.rid
  • Generalizes the following to work for towers of rings:
    • Algebra.TensorProduct.algHomOfLinearMapTensorProduct
    • Algebra.TensorProduct.map
    • Algebra.TensorProduct.congr
    • Algebra.TensorProduct.endTensorEndAlgHom
    • Algebra.TensorProduct.ext (and renames it to Algebra.TensorProduct.ext')
    • Algebra.TensorProduct.rid
  • Introduces a new Algebra.TensorProduct.ext which follows "partially-applied ext lemmas", and uses it to golf a proof in RingTheory/Etale.lean

I need many of these results for building AlgEquivs relating to the base change of clifford algebras.

Diff
@@ -560,7 +560,8 @@ theorem det_kroneckerTMul [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n
     (A : Matrix m m α) (B : Matrix n n β) :
     det (A ⊗ₖₜ[R] B) = (det A ^ Fintype.card n) ⊗ₜ[R] (det B ^ Fintype.card m) := by
   refine' (det_kroneckerMapBilinear (TensorProduct.mk R α β) tmul_mul_tmul _ _).trans _
-  simp (config := { eta := false }) only [mk_apply, ← includeLeft_apply, ← includeRight_apply]
+  simp (config := { eta := false }) only [mk_apply, ← includeLeft_apply (S := R),
+    ← includeRight_apply]
   simp only [← AlgHom.mapMatrix_apply, ← AlgHom.map_det]
   simp only [includeLeft_apply, includeRight_apply, tmul_pow, tmul_mul_tmul, one_pow,
     _root_.mul_one, _root_.one_mul]
chore: script to replace headers with #align_import statements (#5979)

Open in Gitpod

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

Diff
@@ -2,11 +2,6 @@
 Copyright (c) 2021 Filippo A. E. Nuccio. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Filippo A. E. Nuccio, Eric Wieser
-
-! This file was ported from Lean 3 source module data.matrix.kronecker
-! leanprover-community/mathlib commit 3e068ece210655b7b9a9477c3aff38a492400aa1
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Data.Matrix.Basic
 import Mathlib.Data.Matrix.Block
@@ -15,6 +10,8 @@ import Mathlib.LinearAlgebra.Matrix.NonsingularInverse
 import Mathlib.LinearAlgebra.TensorProduct
 import Mathlib.RingTheory.TensorProduct
 
+#align_import data.matrix.kronecker from "leanprover-community/mathlib"@"3e068ece210655b7b9a9477c3aff38a492400aa1"
+
 /-!
 # Kronecker product of matrices
 
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
@@ -128,14 +128,14 @@ theorem kroneckerMap_smul_right [SMul R β] [SMul R γ] (f : α → β → γ) (
 theorem kroneckerMap_diagonal_diagonal [Zero α] [Zero β] [Zero γ] [DecidableEq m] [DecidableEq n]
     (f : α → β → γ) (hf₁ : ∀ b, f 0 b = 0) (hf₂ : ∀ a, f a 0 = 0) (a : m → α) (b : n → β) :
     kroneckerMap f (diagonal a) (diagonal b) = diagonal fun mn => f (a mn.1) (b mn.2) := by
-  ext (⟨i₁, i₂⟩⟨j₁, j₂⟩)
+  ext ⟨i₁, i₂⟩ ⟨j₁, j₂⟩
   simp [diagonal, apply_ite f, ite_and, ite_apply, apply_ite (f (a i₁)), hf₁, hf₂]
 #align matrix.kronecker_map_diagonal_diagonal Matrix.kroneckerMap_diagonal_diagonal
 
 theorem kroneckerMap_diagonal_right [Zero β] [Zero γ] [DecidableEq n] (f : α → β → γ)
     (hf : ∀ a, f a 0 = 0) (A : Matrix l m α) (b : n → β) :
     kroneckerMap f A (diagonal b) = blockDiagonal fun i => A.map fun a => f a (b i) := by
-  ext (⟨i₁, i₂⟩⟨j₁, j₂⟩)
+  ext ⟨i₁, i₂⟩ ⟨j₁, j₂⟩
   simp [diagonal, blockDiagonal, apply_ite (f (A i₁ j₁)), hf]
 #align matrix.kronecker_map_diagonal_right Matrix.kroneckerMap_diagonal_right
 
@@ -144,7 +144,7 @@ theorem kroneckerMap_diagonal_left [Zero α] [Zero γ] [DecidableEq l] (f : α 
     kroneckerMap f (diagonal a) B =
       Matrix.reindex (Equiv.prodComm _ _) (Equiv.prodComm _ _)
         (blockDiagonal fun i => B.map fun b => f (a i) b) := by
-  ext (⟨i₁, i₂⟩⟨j₁, j₂⟩)
+  ext ⟨i₁, i₂⟩ ⟨j₁, j₂⟩
   simp [diagonal, blockDiagonal, apply_ite f, ite_apply, hf]
 #align matrix.kronecker_map_diagonal_left Matrix.kroneckerMap_diagonal_left
 
@@ -159,7 +159,7 @@ theorem kroneckerMap_reindex (f : α → β → γ) (el : l ≃ l') (em : m ≃
     (M : Matrix l m α) (N : Matrix n p β) :
     kroneckerMap f (reindex el em M) (reindex en ep N) =
       reindex (el.prodCongr en) (em.prodCongr ep) (kroneckerMap f M N) := by
-  ext (⟨i, i'⟩⟨j, j'⟩)
+  ext ⟨i, i'⟩ ⟨j, j'⟩
   rfl
 #align matrix.kronecker_map_reindex Matrix.kroneckerMap_reindex
 
@@ -216,7 +216,7 @@ theorem kroneckerMapBilinear_mul_mul [CommSemiring R] [Fintype m] [Fintype m']
     (B : Matrix m n α) (A' : Matrix l' m' β) (B' : Matrix m' n' β) :
     kroneckerMapBilinear f (A ⬝ B) (A' ⬝ B') =
       kroneckerMapBilinear f A A' ⬝ kroneckerMapBilinear f B B' := by
-  ext (⟨i, i'⟩⟨j, j'⟩)
+  ext ⟨i, i'⟩ ⟨j, j'⟩
   simp only [kroneckerMapBilinear_apply_apply, mul_apply, ← Finset.univ_product_univ,
     Finset.sum_product, kroneckerMap_apply]
   simp_rw [f.map_sum, LinearMap.sum_apply, LinearMap.map_sum, h_comm]
@@ -384,9 +384,9 @@ theorem det_kronecker [Fintype m] [Fintype n] [DecidableEq m] [DecidableEq n] [C
     det (A ⊗ₖ B) = det A ^ Fintype.card n * det B ^ Fintype.card m := by
   refine' (det_kroneckerMapBilinear (Algebra.lmul ℕ R).toLinearMap mul_mul_mul_comm _ _).trans _
   congr 3
-  · ext (i j)
+  · ext i j
     exact mul_one _
-  · ext (i j)
+  · ext i j
     exact one_mul _
 #align matrix.det_kronecker Matrix.det_kronecker
 
feat: port Data.Matrix.Kronecker (#4068)

Dependencies 10 + 607

608 files ported (98.4%)
257932 lines ported (98.7%)
Show graph

The unported dependencies are