ring_theory.matrix_algebraMathlib.RingTheory.MatrixAlgebra

This file has been ported!

Changes since the initial port

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

Changes in mathlib3

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(no changes)

(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
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison, Eric Wieser
 -/
 import Data.Matrix.Basis
-import RingTheory.TensorProduct
+import LinearAlgebra.TensorProduct.Tower
 
 #align_import ring_theory.matrix_algebra from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
 
Diff
@@ -3,8 +3,8 @@ Copyright (c) 2020 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison, Eric Wieser
 -/
-import Mathbin.Data.Matrix.Basis
-import Mathbin.RingTheory.TensorProduct
+import Data.Matrix.Basis
+import RingTheory.TensorProduct
 
 #align_import ring_theory.matrix_algebra from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
 
Diff
@@ -2,15 +2,12 @@
 Copyright (c) 2020 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison, Eric Wieser
-
-! This file was ported from Lean 3 source module ring_theory.matrix_algebra
-! 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.Basis
 import Mathbin.RingTheory.TensorProduct
 
+#align_import ring_theory.matrix_algebra from "leanprover-community/mathlib"@"33c67ae661dd8988516ff7f247b0be3018cdd952"
+
 /-!
 > THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
 > Any changes to this file require a corresponding PR to mathlib4.
Diff
@@ -51,12 +51,15 @@ def toFunBilinear : A →ₗ[R] Matrix n n R →ₗ[R] Matrix n n A :=
 #align matrix_equiv_tensor.to_fun_bilinear MatrixEquivTensor.toFunBilinear
 -/
 
+#print MatrixEquivTensor.toFunBilinear_apply /-
 @[simp]
 theorem toFunBilinear_apply (a : A) (m : Matrix n n R) :
     toFunBilinear R A n a m = a • m.map (algebraMap R A) :=
   rfl
 #align matrix_equiv_tensor.to_fun_bilinear_apply MatrixEquivTensor.toFunBilinear_apply
+-/
 
+#print MatrixEquivTensor.toFunLinear /-
 /-- (Implementation detail).
 The function underlying `(A ⊗[R] matrix n n R) →ₐ[R] matrix n n A`,
 as an `R`-linear map.
@@ -64,9 +67,11 @@ as an `R`-linear map.
 def toFunLinear : A ⊗[R] Matrix n n R →ₗ[R] Matrix n n A :=
   TensorProduct.lift (toFunBilinear R A n)
 #align matrix_equiv_tensor.to_fun_linear MatrixEquivTensor.toFunLinear
+-/
 
 variable [DecidableEq n] [Fintype n]
 
+#print MatrixEquivTensor.toFunAlgHom /-
 /-- The function `(A ⊗[R] matrix n n R) →ₐ[R] matrix n n A`, as an algebra homomorphism.
 -/
 def toFunAlgHom : A ⊗[R] Matrix n n R →ₐ[R] Matrix n n A :=
@@ -84,12 +89,15 @@ def toFunAlgHom : A ⊗[R] Matrix n n R →ₐ[R] Matrix n n A :=
         Matrix.map_one (algebraMap R A) (map_zero _) (map_one _), algebraMap_smul,
         Algebra.algebraMap_eq_smul_one])
 #align matrix_equiv_tensor.to_fun_alg_hom MatrixEquivTensor.toFunAlgHom
+-/
 
+#print MatrixEquivTensor.toFunAlgHom_apply /-
 @[simp]
 theorem toFunAlgHom_apply (a : A) (m : Matrix n n R) :
     toFunAlgHom R A n (a ⊗ₜ m) = a • m.map (algebraMap R A) := by
   simp [to_fun_alg_hom, alg_hom_of_linear_map_tensor_product, to_fun_linear]
 #align matrix_equiv_tensor.to_fun_alg_hom_apply MatrixEquivTensor.toFunAlgHom_apply
+-/
 
 #print MatrixEquivTensor.invFun /-
 /-- (Implementation detail.)
@@ -102,20 +110,27 @@ def invFun (M : Matrix n n A) : A ⊗[R] Matrix n n R :=
 #align matrix_equiv_tensor.inv_fun MatrixEquivTensor.invFun
 -/
 
+#print MatrixEquivTensor.invFun_zero /-
 @[simp]
 theorem invFun_zero : invFun R A n 0 = 0 := by simp [inv_fun]
 #align matrix_equiv_tensor.inv_fun_zero MatrixEquivTensor.invFun_zero
+-/
 
+#print MatrixEquivTensor.invFun_add /-
 @[simp]
 theorem invFun_add (M N : Matrix n n A) : invFun R A n (M + N) = invFun R A n M + invFun R A n N :=
   by simp [inv_fun, add_tmul, Finset.sum_add_distrib]
 #align matrix_equiv_tensor.inv_fun_add MatrixEquivTensor.invFun_add
+-/
 
+#print MatrixEquivTensor.invFun_smul /-
 @[simp]
 theorem invFun_smul (a : A) (M : Matrix n n A) : invFun R A n (a • M) = a ⊗ₜ 1 * invFun R A n M :=
   by simp [inv_fun, Finset.mul_sum]
 #align matrix_equiv_tensor.inv_fun_smul MatrixEquivTensor.invFun_smul
+-/
 
+#print MatrixEquivTensor.invFun_algebraMap /-
 @[simp]
 theorem invFun_algebraMap (M : Matrix n n R) : invFun R A n (M.map (algebraMap R A)) = 1 ⊗ₜ M :=
   by
@@ -125,7 +140,9 @@ theorem invFun_algebraMap (M : Matrix n n R) : invFun R A n (M.map (algebraMap R
   conv_rhs => rw [matrix_eq_sum_std_basis M]
   convert Finset.sum_product; simp
 #align matrix_equiv_tensor.inv_fun_algebra_map MatrixEquivTensor.invFun_algebraMap
+-/
 
+#print MatrixEquivTensor.right_inv /-
 theorem right_inv (M : Matrix n n A) : (toFunAlgHom R A n) (invFun R A n M) = M :=
   by
   simp only [inv_fun, AlgHom.map_sum, std_basis_matrix, apply_ite ⇑(algebraMap R A), smul_eq_mul,
@@ -133,7 +150,9 @@ theorem right_inv (M : Matrix n n A) : (toFunAlgHom R A n) (invFun R A n M) = M
     Pi.smul_def]
   convert Finset.sum_product; apply matrix_eq_sum_std_basis
 #align matrix_equiv_tensor.right_inv MatrixEquivTensor.right_inv
+-/
 
+#print MatrixEquivTensor.left_inv /-
 theorem left_inv (M : A ⊗[R] Matrix n n R) : invFun R A n (toFunAlgHom R A n M) = M :=
   by
   induction' M using TensorProduct.induction_on with a m x y hx hy
@@ -141,6 +160,7 @@ theorem left_inv (M : A ⊗[R] Matrix n n R) : invFun R A n (toFunAlgHom R A n M
   · simp
   · simp [AlgHom.map_sum, hx, hy]
 #align matrix_equiv_tensor.left_inv MatrixEquivTensor.left_inv
+-/
 
 #print MatrixEquivTensor.equiv /-
 /-- (Implementation detail)
@@ -160,20 +180,25 @@ end matrixEquivTensor
 
 variable [Fintype n] [DecidableEq n]
 
+#print matrixEquivTensor /-
 /-- The `R`-algebra isomorphism `matrix n n A ≃ₐ[R] (A ⊗[R] matrix n n R)`.
 -/
 def matrixEquivTensor : Matrix n n A ≃ₐ[R] A ⊗[R] Matrix n n R :=
   AlgEquiv.symm { MatrixEquivTensor.toFunAlgHom R A n, MatrixEquivTensor.equiv R A n with }
 #align matrix_equiv_tensor matrixEquivTensor
+-/
 
 open matrixEquivTensor
 
+#print matrixEquivTensor_apply /-
 @[simp]
 theorem matrixEquivTensor_apply (M : Matrix n n A) :
     matrixEquivTensor R A n M = ∑ p : n × n, M p.1 p.2 ⊗ₜ stdBasisMatrix p.1 p.2 1 :=
   rfl
 #align matrix_equiv_tensor_apply matrixEquivTensor_apply
+-/
 
+#print matrixEquivTensor_apply_std_basis /-
 @[simp]
 theorem matrixEquivTensor_apply_std_basis (i j : n) (x : A) :
     matrixEquivTensor R A n (stdBasisMatrix i j x) = x ⊗ₜ stdBasisMatrix i j 1 :=
@@ -181,7 +206,9 @@ theorem matrixEquivTensor_apply_std_basis (i j : n) (x : A) :
   have t : ∀ p : n × n, i = p.1 ∧ j = p.2 ↔ p = (i, j) := by tidy
   simp [ite_tmul, t, std_basis_matrix]
 #align matrix_equiv_tensor_apply_std_basis matrixEquivTensor_apply_std_basis
+-/
 
+#print matrixEquivTensor_apply_symm /-
 @[simp]
 theorem matrixEquivTensor_apply_symm (a : A) (M : Matrix n n R) :
     (matrixEquivTensor R A n).symm (a ⊗ₜ M) = M.map fun x => a * algebraMap R A x :=
@@ -189,4 +216,5 @@ theorem matrixEquivTensor_apply_symm (a : A) (M : Matrix n n R) :
   simp [matrixEquivTensor, to_fun_alg_hom, alg_hom_of_linear_map_tensor_product, to_fun_linear]
   rfl
 #align matrix_equiv_tensor_apply_symm matrixEquivTensor_apply_symm
+-/
 
Diff
@@ -85,13 +85,11 @@ def toFunAlgHom : A ⊗[R] Matrix n n R →ₐ[R] Matrix n n A :=
         Algebra.algebraMap_eq_smul_one])
 #align matrix_equiv_tensor.to_fun_alg_hom MatrixEquivTensor.toFunAlgHom
 
-#print MatrixEquivTensor.toFunAlgHom_apply /-
 @[simp]
 theorem toFunAlgHom_apply (a : A) (m : Matrix n n R) :
     toFunAlgHom R A n (a ⊗ₜ m) = a • m.map (algebraMap R A) := by
   simp [to_fun_alg_hom, alg_hom_of_linear_map_tensor_product, to_fun_linear]
 #align matrix_equiv_tensor.to_fun_alg_hom_apply MatrixEquivTensor.toFunAlgHom_apply
--/
 
 #print MatrixEquivTensor.invFun /-
 /-- (Implementation detail.)
@@ -128,7 +126,6 @@ theorem invFun_algebraMap (M : Matrix n n R) : invFun R A n (M.map (algebraMap R
   convert Finset.sum_product; simp
 #align matrix_equiv_tensor.inv_fun_algebra_map MatrixEquivTensor.invFun_algebraMap
 
-#print MatrixEquivTensor.right_inv /-
 theorem right_inv (M : Matrix n n A) : (toFunAlgHom R A n) (invFun R A n M) = M :=
   by
   simp only [inv_fun, AlgHom.map_sum, std_basis_matrix, apply_ite ⇑(algebraMap R A), smul_eq_mul,
@@ -136,9 +133,7 @@ theorem right_inv (M : Matrix n n A) : (toFunAlgHom R A n) (invFun R A n M) = M
     Pi.smul_def]
   convert Finset.sum_product; apply matrix_eq_sum_std_basis
 #align matrix_equiv_tensor.right_inv MatrixEquivTensor.right_inv
--/
 
-#print MatrixEquivTensor.left_inv /-
 theorem left_inv (M : A ⊗[R] Matrix n n R) : invFun R A n (toFunAlgHom R A n M) = M :=
   by
   induction' M using TensorProduct.induction_on with a m x y hx hy
@@ -146,7 +141,6 @@ theorem left_inv (M : A ⊗[R] Matrix n n R) : invFun R A n (toFunAlgHom R A n M
   · simp
   · simp [AlgHom.map_sum, hx, hy]
 #align matrix_equiv_tensor.left_inv MatrixEquivTensor.left_inv
--/
 
 #print MatrixEquivTensor.equiv /-
 /-- (Implementation detail)
Diff
@@ -21,9 +21,9 @@ We show `matrix n n A ≃ₐ[R] (A ⊗[R] matrix n n R)`.
 
 universe u v w
 
-open TensorProduct
+open scoped TensorProduct
 
-open BigOperators
+open scoped BigOperators
 
 open TensorProduct
 
Diff
@@ -51,21 +51,12 @@ def toFunBilinear : A →ₗ[R] Matrix n n R →ₗ[R] Matrix n n A :=
 #align matrix_equiv_tensor.to_fun_bilinear MatrixEquivTensor.toFunBilinear
 -/
 
-/- warning: matrix_equiv_tensor.to_fun_bilinear_apply -> MatrixEquivTensor.toFunBilinear_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.to_fun_bilinear_apply MatrixEquivTensor.toFunBilinear_applyₓ'. -/
 @[simp]
 theorem toFunBilinear_apply (a : A) (m : Matrix n n R) :
     toFunBilinear R A n a m = a • m.map (algebraMap R A) :=
   rfl
 #align matrix_equiv_tensor.to_fun_bilinear_apply MatrixEquivTensor.toFunBilinear_apply
 
-/- warning: matrix_equiv_tensor.to_fun_linear -> MatrixEquivTensor.toFunLinear is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}), LinearMap.{u1, u1, max u2 u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (TensorProduct.addCommMonoid.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (TensorProduct.module.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}), LinearMap.{u1, u1, max (max u1 u3) u2, max 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))) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (TensorProduct.addCommMonoid.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.to_fun_linear MatrixEquivTensor.toFunLinearₓ'. -/
 /-- (Implementation detail).
 The function underlying `(A ⊗[R] matrix n n R) →ₐ[R] matrix n n A`,
 as an `R`-linear map.
@@ -76,12 +67,6 @@ def toFunLinear : A ⊗[R] Matrix n n R →ₗ[R] Matrix n n A :=
 
 variable [DecidableEq n] [Fintype n]
 
-/- warning: matrix_equiv_tensor.to_fun_alg_hom -> MatrixEquivTensor.toFunAlgHom is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n], AlgHom.{u1, max u2 u3 u1, max u3 u2} R (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 _inst_2 _inst_3)
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n], AlgHom.{u1, max (max u1 u3) u2, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 _inst_2 _inst_3)
-Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.to_fun_alg_hom MatrixEquivTensor.toFunAlgHomₓ'. -/
 /-- The function `(A ⊗[R] matrix n n R) →ₐ[R] matrix n n A`, as an algebra homomorphism.
 -/
 def toFunAlgHom : A ⊗[R] Matrix n n R →ₐ[R] Matrix n n A :=
@@ -119,35 +104,20 @@ def invFun (M : Matrix n n A) : A ⊗[R] Matrix n n R :=
 #align matrix_equiv_tensor.inv_fun MatrixEquivTensor.invFun
 -/
 
-/- warning: matrix_equiv_tensor.inv_fun_zero -> MatrixEquivTensor.invFun_zero is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.inv_fun_zero MatrixEquivTensor.invFun_zeroₓ'. -/
 @[simp]
 theorem invFun_zero : invFun R A n 0 = 0 := by simp [inv_fun]
 #align matrix_equiv_tensor.inv_fun_zero MatrixEquivTensor.invFun_zero
 
-/- warning: matrix_equiv_tensor.inv_fun_add -> MatrixEquivTensor.invFun_add is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.inv_fun_add MatrixEquivTensor.invFun_addₓ'. -/
 @[simp]
 theorem invFun_add (M N : Matrix n n A) : invFun R A n (M + N) = invFun R A n M + invFun R A n N :=
   by simp [inv_fun, add_tmul, Finset.sum_add_distrib]
 #align matrix_equiv_tensor.inv_fun_add MatrixEquivTensor.invFun_add
 
-/- warning: matrix_equiv_tensor.inv_fun_smul -> MatrixEquivTensor.invFun_smul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.inv_fun_smul MatrixEquivTensor.invFun_smulₓ'. -/
 @[simp]
 theorem invFun_smul (a : A) (M : Matrix n n A) : invFun R A n (a • M) = a ⊗ₜ 1 * invFun R A n M :=
   by simp [inv_fun, Finset.mul_sum]
 #align matrix_equiv_tensor.inv_fun_smul MatrixEquivTensor.invFun_smul
 
-/- warning: matrix_equiv_tensor.inv_fun_algebra_map -> MatrixEquivTensor.invFun_algebraMap is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n] (M : Matrix.{u3, u3, u1} n n R), Eq.{succ (max u2 u3 u1)} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (Matrix.map.{u1, u2, u3, u3} n n R A M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (fun (_x : RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) => R -> A) (RingHom.hasCoeToFun.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3)))) (TensorProduct.tmul.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))) M)
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n] (M : Matrix.{u3, u3, u1} n n R), Eq.{max (max (succ u1) (succ u2)) (succ u3)} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (Matrix.map.{u1, u2, u3, u3} n n R A M (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3)))) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A _inst_2))) M)
-Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.inv_fun_algebra_map MatrixEquivTensor.invFun_algebraMapₓ'. -/
 @[simp]
 theorem invFun_algebraMap (M : Matrix n n R) : invFun R A n (M.map (algebraMap R A)) = 1 ⊗ₜ M :=
   by
@@ -196,12 +166,6 @@ end matrixEquivTensor
 
 variable [Fintype n] [DecidableEq n]
 
-/- warning: matrix_equiv_tensor -> matrixEquivTensor is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n], AlgEquiv.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n], AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))
-Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor matrixEquivTensorₓ'. -/
 /-- The `R`-algebra isomorphism `matrix n n A ≃ₐ[R] (A ⊗[R] matrix n n R)`.
 -/
 def matrixEquivTensor : Matrix n n A ≃ₐ[R] A ⊗[R] Matrix n n R :=
@@ -210,18 +174,12 @@ def matrixEquivTensor : Matrix n n A ≃ₐ[R] A ⊗[R] Matrix n n R :=
 
 open matrixEquivTensor
 
-/- warning: matrix_equiv_tensor_apply -> matrixEquivTensor_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor_apply matrixEquivTensor_applyₓ'. -/
 @[simp]
 theorem matrixEquivTensor_apply (M : Matrix n n A) :
     matrixEquivTensor R A n M = ∑ p : n × n, M p.1 p.2 ⊗ₜ stdBasisMatrix p.1 p.2 1 :=
   rfl
 #align matrix_equiv_tensor_apply matrixEquivTensor_apply
 
-/- warning: matrix_equiv_tensor_apply_std_basis -> matrixEquivTensor_apply_std_basis is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor_apply_std_basis matrixEquivTensor_apply_std_basisₓ'. -/
 @[simp]
 theorem matrixEquivTensor_apply_std_basis (i j : n) (x : A) :
     matrixEquivTensor R A n (stdBasisMatrix i j x) = x ⊗ₜ stdBasisMatrix i j 1 :=
@@ -230,9 +188,6 @@ theorem matrixEquivTensor_apply_std_basis (i j : n) (x : A) :
   simp [ite_tmul, t, std_basis_matrix]
 #align matrix_equiv_tensor_apply_std_basis matrixEquivTensor_apply_std_basis
 
-/- warning: matrix_equiv_tensor_apply_symm -> matrixEquivTensor_apply_symm is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor_apply_symm matrixEquivTensor_apply_symmₓ'. -/
 @[simp]
 theorem matrixEquivTensor_apply_symm (a : A) (M : Matrix n n R) :
     (matrixEquivTensor R A n).symm (a ⊗ₜ M) = M.map fun x => a * algebraMap R A x :=
Diff
@@ -52,10 +52,7 @@ def toFunBilinear : A →ₗ[R] Matrix n n R →ₗ[R] Matrix n n A :=
 -/
 
 /- warning: matrix_equiv_tensor.to_fun_bilinear_apply -> MatrixEquivTensor.toFunBilinear_apply is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) (a : A) (m : Matrix.{u3, u3, u1} n n R), Eq.{succ (max u3 u2)} (Matrix.{u3, u3, u2} n n A) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) => (Matrix.{u3, u3, u1} n n R) -> (Matrix.{u3, u3, u2} n n A)) (LinearMap.hasCoeToFun.{u1, u1, max u3 u1, max u3 u2} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max (max u3 u1) u3 u2)), max (succ u2) (succ (max (max u3 u1) u3 u2))} (LinearMap.{u1, u1, u2, max (max u3 u1) u3 u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u3 u1, max u3 u2} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.module.{u1, u1, u1, max u3 u1, max u3 u2} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (MatrixEquivTensor.toFunBilinear._proof_1.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n))) (fun (_x : LinearMap.{u1, u1, u2, max (max u3 u1) u3 u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u3 u1, max u3 u2} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.module.{u1, u1, u1, max u3 u1, max u3 u2} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (MatrixEquivTensor.toFunBilinear._proof_1.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n))) => A -> (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)))) (LinearMap.hasCoeToFun.{u1, u1, u2, max (max u3 u1) u3 u2} R R A (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u3 u1, max u3 u2} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.module.{u1, u1, u1, max u3 u1, max u3 u2} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (MatrixEquivTensor.toFunBilinear._proof_1.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.toFunBilinear.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n) a) m) (SMul.smul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} n n A) (Matrix.hasSmul.{u2, u3, u3, u2} n n A A (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) a (Matrix.map.{u1, u2, u3, u3} n n R A m (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (fun (_x : RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) => R -> A) (RingHom.hasCoeToFun.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3))))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) (a : A) (m : Matrix.{u3, u3, u1} n n R), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u3, u3, u1} n n R) => Matrix.{u3, u3, u2} n n A) m) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) a) (Matrix.{u3, u3, u1} n n R) (fun (_x : Matrix.{u3, u3, u1} n n R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u3, u3, u1} n n R) => Matrix.{u3, u3, u2} n n A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u2, max (max (succ u1) (succ u2)) (succ u3)} (LinearMap.{u1, u1, u2, max (max u2 u3) u1 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))) A (LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u3, max u2 u3} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (Matrix.smulCommClass.{u2, u3, u3, u1, u1} n n R R A _inst_3.0 _inst_3.0 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max (max u1 u2) u3} R R A (LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u3, max u2 u3} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (Matrix.smulCommClass.{u2, u3, u3, u1, u1} n n R R A _inst_3.0 _inst_3.0 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.toFunBilinear.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n) a) m) (HSMul.hSMul.{u2, max u3 u2, max u2 u3} A (Matrix.{u3, u3, u2} n n A) (Matrix.{u3, u3, u2} n n A) (instHSMul.{u2, max u2 u3} A (Matrix.{u3, u3, u2} n n A) (Matrix.smul.{u2, u3, u3, u2} n n A A (SMulZeroClass.toSMul.{u2, u2} A A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))))) a (Matrix.map.{u1, u2, u3, u3} n n R A m (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.to_fun_bilinear_apply MatrixEquivTensor.toFunBilinear_applyₓ'. -/
 @[simp]
 theorem toFunBilinear_apply (a : A) (m : Matrix n n R) :
@@ -123,20 +120,14 @@ def invFun (M : Matrix n n A) : A ⊗[R] Matrix n n R :=
 -/
 
 /- warning: matrix_equiv_tensor.inv_fun_zero -> MatrixEquivTensor.invFun_zero is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n], Eq.{succ (max u2 u3 u1)} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (OfNat.ofNat.{max u3 u2} (Matrix.{u3, u3, u2} n n A) 0 (OfNat.mk.{max u3 u2} (Matrix.{u3, u3, u2} n n A) 0 (Zero.zero.{max u3 u2} (Matrix.{u3, u3, u2} n n A) (Matrix.hasZero.{u2, u3, u3} n n A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))))) (OfNat.ofNat.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) 0 (OfNat.mk.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) 0 (Zero.zero.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MulZeroClass.toHasZero.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMulZeroClass.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))))))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n], Eq.{max (max (succ u1) (succ u2)) (succ u3)} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (OfNat.ofNat.{max u2 u3} (Matrix.{u3, u3, u2} n n A) 0 (Zero.toOfNat0.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.zero.{u2, u3, u3} n n A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))))) (OfNat.ofNat.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) 0 (Zero.toOfNat0.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toMonoidWithZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.inv_fun_zero MatrixEquivTensor.invFun_zeroₓ'. -/
 @[simp]
 theorem invFun_zero : invFun R A n 0 = 0 := by simp [inv_fun]
 #align matrix_equiv_tensor.inv_fun_zero MatrixEquivTensor.invFun_zero
 
 /- warning: matrix_equiv_tensor.inv_fun_add -> MatrixEquivTensor.invFun_add is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n] (M : Matrix.{u3, u3, u2} n n A) (N : Matrix.{u3, u3, u2} n n A), Eq.{succ (max u2 u3 u1)} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (HAdd.hAdd.{max u3 u2, max u3 u2, max u3 u2} (Matrix.{u3, u3, u2} n n A) (Matrix.{u3, u3, u2} n n A) (Matrix.{u3, u3, u2} n n A) (instHAdd.{max u3 u2} (Matrix.{u3, u3, u2} n n A) (Matrix.hasAdd.{u2, u3, u3} n n A (Distrib.toHasAdd.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) M N)) (HAdd.hAdd.{max u2 u3 u1, max u2 u3 u1, max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (instHAdd.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 M) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 N))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n] (M : Matrix.{u3, u3, u2} n n A) (N : Matrix.{u3, u3, u2} n n A), Eq.{max (max (succ u1) (succ u2)) (succ u3)} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.{u3, u3, u2} n n A) (Matrix.{u3, u3, u2} n n A) (instHAdd.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.add.{u2, u3, u3} n n A (Distrib.toAdd.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) M N)) (HAdd.hAdd.{max (max u1 u2) u3, max (max u1 u2) u3, max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (instHAdd.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Distrib.toAdd.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toDistrib.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 M) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 N))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.inv_fun_add MatrixEquivTensor.invFun_addₓ'. -/
 @[simp]
 theorem invFun_add (M N : Matrix n n A) : invFun R A n (M + N) = invFun R A n M + invFun R A n N :=
@@ -144,10 +135,7 @@ theorem invFun_add (M N : Matrix n n A) : invFun R A n (M + N) = invFun R A n M
 #align matrix_equiv_tensor.inv_fun_add MatrixEquivTensor.invFun_add
 
 /- warning: matrix_equiv_tensor.inv_fun_smul -> MatrixEquivTensor.invFun_smul is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n] (a : A) (M : Matrix.{u3, u3, u2} n n A), Eq.{succ (max u2 u3 u1)} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (SMul.smul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} n n A) (Matrix.hasSmul.{u2, u3, u3, u2} n n A A (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) a M)) (HMul.hMul.{max u2 u3 u1, max u2 u3 u1, max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (instHMul.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Distrib.toHasMul.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (TensorProduct.tmul.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a (OfNat.ofNat.{max u3 u1} (Matrix.{u3, u3, u1} n n R) 1 (OfNat.mk.{max u3 u1} (Matrix.{u3, u3, u1} n n R) 1 (One.one.{max u3 u1} (Matrix.{u3, u3, u1} n n R) (Matrix.hasOne.{u1, u3} n R (fun (a : n) (b : n) => _inst_4 a b) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 M))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n] (a : A) (M : Matrix.{u3, u3, u2} n n A), Eq.{max (max (succ u1) (succ u2)) (succ u3)} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (HSMul.hSMul.{u2, max u2 u3, max u2 u3} A (Matrix.{u3, u3, u2} n n A) (Matrix.{u3, u3, u2} n n A) (instHSMul.{u2, max u2 u3} A (Matrix.{u3, u3, u2} n n A) (Matrix.smul.{u2, u3, u3, u2} n n A A (SMulZeroClass.toSMul.{u2, u2} A A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))))) a M)) (HMul.hMul.{max u2 u1 u3, max (max u1 u2) u3, max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (instHMul.{max u2 u1 u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a (OfNat.ofNat.{max u1 u3} (Matrix.{u3, u3, u1} n n R) 1 (One.toOfNat1.{max u1 u3} (Matrix.{u3, u3, u1} n n R) (Matrix.one.{u1, u3} n R (fun (a : n) (b : n) => _inst_4 a b) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 M))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.inv_fun_smul MatrixEquivTensor.invFun_smulₓ'. -/
 @[simp]
 theorem invFun_smul (a : A) (M : Matrix n n A) : invFun R A n (a • M) = a ⊗ₜ 1 * invFun R A n M :=
@@ -223,10 +211,7 @@ def matrixEquivTensor : Matrix n n A ≃ₐ[R] A ⊗[R] Matrix n n R :=
 open matrixEquivTensor
 
 /- warning: matrix_equiv_tensor_apply -> matrixEquivTensor_apply is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (M : Matrix.{u3, u3, u2} n n A), Eq.{succ (max u2 u3 u1)} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u3 u2)) (succ (max u2 u3 u1)), max (succ (max u3 u2)) (succ (max u2 u3 u1))} (AlgEquiv.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (fun (_x : AlgEquiv.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) => (Matrix.{u3, u3, u2} n n A) -> (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AlgEquiv.hasCoeToFun.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) M) (Finset.sum.{max u2 u3 u1, u3} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Prod.{u3, u3} n n) (TensorProduct.addCommMonoid.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Finset.univ.{u3} (Prod.{u3, u3} n n) (Prod.fintype.{u3, u3} n n _inst_4 _inst_4)) (fun (p : Prod.{u3, u3} n n) => TensorProduct.tmul.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (M (Prod.fst.{u3, u3} n n p) (Prod.snd.{u3, u3} n n p)) (Matrix.stdBasisMatrix.{u3, u3, u1} n n R (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) (CommSemiring.toSemiring.{u1} R _inst_1) (Prod.fst.{u3, u3} n n p) (Prod.snd.{u3, u3} n n p) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (M : Matrix.{u3, u3, u2} n n A), Eq.{max (max (succ u1) (succ u2)) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u2} n n A) => TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) M) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (fun (_x : Matrix.{u3, u3, u2} n n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u2} n n A) => TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u2 u3, max (max u1 u2) u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (AlgEquivClass.toAlgHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, max u2 u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) M) (Finset.sum.{max (max u1 u3) u2, u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Prod.{u3, u3} n n) (Algebra.TensorProduct.instAddCommMonoidTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Finset.univ.{u3} (Prod.{u3, u3} n n) (instFintypeProd.{u3, u3} n n _inst_4 _inst_4)) (fun (p : Prod.{u3, u3} n n) => TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (M (Prod.fst.{u3, u3} n n p) (Prod.snd.{u3, u3} n n p)) (Matrix.stdBasisMatrix.{u3, u3, u1} n n R (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) (CommSemiring.toSemiring.{u1} R _inst_1) (Prod.fst.{u3, u3} n n p) (Prod.snd.{u3, u3} n n p) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor_apply matrixEquivTensor_applyₓ'. -/
 @[simp]
 theorem matrixEquivTensor_apply (M : Matrix n n A) :
@@ -235,10 +220,7 @@ theorem matrixEquivTensor_apply (M : Matrix n n A) :
 #align matrix_equiv_tensor_apply matrixEquivTensor_apply
 
 /- warning: matrix_equiv_tensor_apply_std_basis -> matrixEquivTensor_apply_std_basis is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (i : n) (j : n) (x : A), Eq.{succ (max u2 u3 u1)} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u3 u2)) (succ (max u2 u3 u1)), max (succ (max u3 u2)) (succ (max u2 u3 u1))} (AlgEquiv.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (fun (_x : AlgEquiv.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) => (Matrix.{u3, u3, u2} n n A) -> (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AlgEquiv.hasCoeToFun.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.stdBasisMatrix.{u3, u3, u2} n n A (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) _inst_2 i j x)) (TensorProduct.tmul.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) x (Matrix.stdBasisMatrix.{u3, u3, u1} n n R (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) (CommSemiring.toSemiring.{u1} R _inst_1) i j (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (i : n) (j : n) (x : A), Eq.{max (max (succ u1) (succ u2)) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u2} n n A) => TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.stdBasisMatrix.{u3, u3, u2} n n A (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) _inst_2 i j x)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (fun (_x : Matrix.{u3, u3, u2} n n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u2} n n A) => TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u2 u3, max (max u1 u2) u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (AlgEquivClass.toAlgHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, max u2 u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.stdBasisMatrix.{u3, u3, u2} n n A (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) _inst_2 i j x)) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) x (Matrix.stdBasisMatrix.{u3, u3, u1} n n R (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) (CommSemiring.toSemiring.{u1} R _inst_1) i j (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor_apply_std_basis matrixEquivTensor_apply_std_basisₓ'. -/
 @[simp]
 theorem matrixEquivTensor_apply_std_basis (i j : n) (x : A) :
@@ -249,10 +231,7 @@ theorem matrixEquivTensor_apply_std_basis (i j : n) (x : A) :
 #align matrix_equiv_tensor_apply_std_basis matrixEquivTensor_apply_std_basis
 
 /- warning: matrix_equiv_tensor_apply_symm -> matrixEquivTensor_apply_symm is a dubious translation:
-lean 3 declaration is
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (a : A) (M : Matrix.{u3, u3, u1} n n R), Eq.{succ (max u3 u2)} (Matrix.{u3, u3, u2} n n A) (coeFn.{max (succ (max u2 u3 u1)) (succ (max u3 u2)), max (succ (max u2 u3 u1)) (succ (max u3 u2))} (AlgEquiv.{u1, max u2 u3 u1, max u3 u2} R (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3)) (fun (_x : AlgEquiv.{u1, max u2 u3 u1, max u3 u2} R (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3)) => (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) -> (Matrix.{u3, u3, u2} n n A)) (AlgEquiv.hasCoeToFun.{u1, max u2 u3 u1, max u3 u2} R (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3)) (AlgEquiv.symm.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b))) (TensorProduct.tmul.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a M)) (Matrix.map.{u1, u2, u3, u3} n n R A M (fun (x : R) => HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (fun (_x : RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) => R -> A) (RingHom.hasCoeToFun.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3) x)))
-but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (a : A) (M : Matrix.{u3, u3, u1} n n R), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => Matrix.{u3, u3, u2} n n A) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a M)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (fun (_x : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => Matrix.{u3, u3, u2} n n A) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (SMulZeroClass.toSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max (max u1 u2) u3, max u2 u3, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) (AlgEquivClass.toAlgHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))))))) (AlgEquiv.symm.{u1, max u2 u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b))) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a M)) (Matrix.map.{u1, u2, u3, u3} n n R A M (fun (x : R) => HMul.hMul.{u2, u2, u2} A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) x) A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) a (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3) x)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor_apply_symm matrixEquivTensor_apply_symmₓ'. -/
 @[simp]
 theorem matrixEquivTensor_apply_symm (a : A) (M : Matrix n n R) :
Diff
@@ -55,7 +55,7 @@ def toFunBilinear : A →ₗ[R] Matrix n n R →ₗ[R] Matrix n n A :=
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) (a : A) (m : Matrix.{u3, u3, u1} n n R), Eq.{succ (max u3 u2)} (Matrix.{u3, u3, u2} n n A) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) => (Matrix.{u3, u3, u1} n n R) -> (Matrix.{u3, u3, u2} n n A)) (LinearMap.hasCoeToFun.{u1, u1, max u3 u1, max u3 u2} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max (max u3 u1) u3 u2)), max (succ u2) (succ (max (max u3 u1) u3 u2))} (LinearMap.{u1, u1, u2, max (max u3 u1) u3 u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u3 u1, max u3 u2} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.module.{u1, u1, u1, max u3 u1, max u3 u2} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (MatrixEquivTensor.toFunBilinear._proof_1.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n))) (fun (_x : LinearMap.{u1, u1, u2, max (max u3 u1) u3 u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u3 u1, max u3 u2} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.module.{u1, u1, u1, max u3 u1, max u3 u2} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (MatrixEquivTensor.toFunBilinear._proof_1.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n))) => A -> (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)))) (LinearMap.hasCoeToFun.{u1, u1, u2, max (max u3 u1) u3 u2} R R A (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u3 u1, max u3 u2} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.module.{u1, u1, u1, max u3 u1, max u3 u2} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (MatrixEquivTensor.toFunBilinear._proof_1.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.toFunBilinear.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n) a) m) (SMul.smul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} n n A) (Matrix.hasSmul.{u2, u3, u3, u2} n n A A (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) a (Matrix.map.{u1, u2, u3, u3} n n R A m (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (fun (_x : RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) => R -> A) (RingHom.hasCoeToFun.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3))))
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) (a : A) (m : Matrix.{u3, u3, u1} n n R), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u3, u3, u1} n n R) => Matrix.{u3, u3, u2} n n A) m) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) a) (Matrix.{u3, u3, u1} n n R) (fun (_x : Matrix.{u3, u3, u1} n n R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u3, u3, u1} n n R) => Matrix.{u3, u3, u2} n n A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u2, max (max (succ u1) (succ u2)) (succ u3)} (LinearMap.{u1, u1, u2, max (max u2 u3) u1 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))) A (LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u3, max u2 u3} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (Matrix.smulCommClass.{u2, u3, u3, u1, u1} n n R R A _inst_3.0 _inst_3.0 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max (max u1 u2) u3} R R A (LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u3, max u2 u3} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (Matrix.smulCommClass.{u2, u3, u3, u1, u1} n n R R A _inst_3.0 _inst_3.0 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.toFunBilinear.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n) a) m) (HSMul.hSMul.{u2, max u3 u2, max u2 u3} A (Matrix.{u3, u3, u2} n n A) (Matrix.{u3, u3, u2} n n A) (instHSMul.{u2, max u2 u3} A (Matrix.{u3, u3, u2} n n A) (Matrix.smul.{u2, u3, u3, u2} n n A A (SMulZeroClass.toSMul.{u2, u2} A A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))))) a (Matrix.map.{u1, u2, u3, u3} n n R A m (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3))))
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) (a : A) (m : Matrix.{u3, u3, u1} n n R), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u3, u3, u1} n n R) => Matrix.{u3, u3, u2} n n A) m) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) a) (Matrix.{u3, u3, u1} n n R) (fun (_x : Matrix.{u3, u3, u1} n n R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : Matrix.{u3, u3, u1} n n R) => Matrix.{u3, u3, u2} n n A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u2, max (max (succ u1) (succ u2)) (succ u3)} (LinearMap.{u1, u1, u2, max (max u2 u3) u1 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))) A (LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u3, max u2 u3} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (Matrix.smulCommClass.{u2, u3, u3, u1, u1} n n R R A _inst_3.0 _inst_3.0 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6193 : A) => LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max (max u1 u2) u3} R R A (LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u3, max u2 u3} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (Matrix.smulCommClass.{u2, u3, u3, u1, u1} n n R R A _inst_3.0 _inst_3.0 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.toFunBilinear.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n) a) m) (HSMul.hSMul.{u2, max u3 u2, max u2 u3} A (Matrix.{u3, u3, u2} n n A) (Matrix.{u3, u3, u2} n n A) (instHSMul.{u2, max u2 u3} A (Matrix.{u3, u3, u2} n n A) (Matrix.smul.{u2, u3, u3, u2} n n A A (SMulZeroClass.toSMul.{u2, u2} A A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))))) a (Matrix.map.{u1, u2, u3, u3} n n R A m (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3))))
 Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.to_fun_bilinear_apply MatrixEquivTensor.toFunBilinear_applyₓ'. -/
 @[simp]
 theorem toFunBilinear_apply (a : A) (m : Matrix n n R) :
@@ -226,7 +226,7 @@ open matrixEquivTensor
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (M : Matrix.{u3, u3, u2} n n A), Eq.{succ (max u2 u3 u1)} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u3 u2)) (succ (max u2 u3 u1)), max (succ (max u3 u2)) (succ (max u2 u3 u1))} (AlgEquiv.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (fun (_x : AlgEquiv.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) => (Matrix.{u3, u3, u2} n n A) -> (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AlgEquiv.hasCoeToFun.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) M) (Finset.sum.{max u2 u3 u1, u3} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Prod.{u3, u3} n n) (TensorProduct.addCommMonoid.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Finset.univ.{u3} (Prod.{u3, u3} n n) (Prod.fintype.{u3, u3} n n _inst_4 _inst_4)) (fun (p : Prod.{u3, u3} n n) => TensorProduct.tmul.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (M (Prod.fst.{u3, u3} n n p) (Prod.snd.{u3, u3} n n p)) (Matrix.stdBasisMatrix.{u3, u3, u1} n n R (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) (CommSemiring.toSemiring.{u1} R _inst_1) (Prod.fst.{u3, u3} n n p) (Prod.snd.{u3, u3} n n p) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (M : Matrix.{u3, u3, u2} n n A), Eq.{max (max (succ u1) (succ u2)) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} n n A) => TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) M) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (fun (_x : Matrix.{u3, u3, u2} n n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} n n A) => TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u2 u3, max (max u1 u2) u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (AlgEquivClass.toAlgHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, max u2 u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) M) (Finset.sum.{max (max u1 u3) u2, u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Prod.{u3, u3} n n) (Algebra.TensorProduct.instAddCommMonoidTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Finset.univ.{u3} (Prod.{u3, u3} n n) (instFintypeProd.{u3, u3} n n _inst_4 _inst_4)) (fun (p : Prod.{u3, u3} n n) => TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (M (Prod.fst.{u3, u3} n n p) (Prod.snd.{u3, u3} n n p)) (Matrix.stdBasisMatrix.{u3, u3, u1} n n R (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) (CommSemiring.toSemiring.{u1} R _inst_1) (Prod.fst.{u3, u3} n n p) (Prod.snd.{u3, u3} n n p) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (M : Matrix.{u3, u3, u2} n n A), Eq.{max (max (succ u1) (succ u2)) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u2} n n A) => TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) M) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (fun (_x : Matrix.{u3, u3, u2} n n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u2} n n A) => TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u2 u3, max (max u1 u2) u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (AlgEquivClass.toAlgHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, max u2 u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) M) (Finset.sum.{max (max u1 u3) u2, u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Prod.{u3, u3} n n) (Algebra.TensorProduct.instAddCommMonoidTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Finset.univ.{u3} (Prod.{u3, u3} n n) (instFintypeProd.{u3, u3} n n _inst_4 _inst_4)) (fun (p : Prod.{u3, u3} n n) => TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (M (Prod.fst.{u3, u3} n n p) (Prod.snd.{u3, u3} n n p)) (Matrix.stdBasisMatrix.{u3, u3, u1} n n R (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) (CommSemiring.toSemiring.{u1} R _inst_1) (Prod.fst.{u3, u3} n n p) (Prod.snd.{u3, u3} n n p) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))
 Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor_apply matrixEquivTensor_applyₓ'. -/
 @[simp]
 theorem matrixEquivTensor_apply (M : Matrix n n A) :
@@ -238,7 +238,7 @@ theorem matrixEquivTensor_apply (M : Matrix n n A) :
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (i : n) (j : n) (x : A), Eq.{succ (max u2 u3 u1)} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u3 u2)) (succ (max u2 u3 u1)), max (succ (max u3 u2)) (succ (max u2 u3 u1))} (AlgEquiv.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (fun (_x : AlgEquiv.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) => (Matrix.{u3, u3, u2} n n A) -> (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AlgEquiv.hasCoeToFun.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.stdBasisMatrix.{u3, u3, u2} n n A (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) _inst_2 i j x)) (TensorProduct.tmul.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) x (Matrix.stdBasisMatrix.{u3, u3, u1} n n R (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) (CommSemiring.toSemiring.{u1} R _inst_1) i j (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))))
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (i : n) (j : n) (x : A), Eq.{max (max (succ u1) (succ u2)) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} n n A) => TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.stdBasisMatrix.{u3, u3, u2} n n A (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) _inst_2 i j x)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (fun (_x : Matrix.{u3, u3, u2} n n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} n n A) => TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u2 u3, max (max u1 u2) u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (AlgEquivClass.toAlgHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, max u2 u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.stdBasisMatrix.{u3, u3, u2} n n A (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) _inst_2 i j x)) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) x (Matrix.stdBasisMatrix.{u3, u3, u1} n n R (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) (CommSemiring.toSemiring.{u1} R _inst_1) i j (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (i : n) (j : n) (x : A), Eq.{max (max (succ u1) (succ u2)) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u2} n n A) => TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.stdBasisMatrix.{u3, u3, u2} n n A (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) _inst_2 i j x)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (fun (_x : Matrix.{u3, u3, u2} n n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u2} n n A) => TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u2 u3, max (max u1 u2) u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (AlgEquivClass.toAlgHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, max u2 u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.stdBasisMatrix.{u3, u3, u2} n n A (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) _inst_2 i j x)) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) x (Matrix.stdBasisMatrix.{u3, u3, u1} n n R (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) (CommSemiring.toSemiring.{u1} R _inst_1) i j (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))
 Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor_apply_std_basis matrixEquivTensor_apply_std_basisₓ'. -/
 @[simp]
 theorem matrixEquivTensor_apply_std_basis (i j : n) (x : A) :
@@ -252,7 +252,7 @@ theorem matrixEquivTensor_apply_std_basis (i j : n) (x : A) :
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (a : A) (M : Matrix.{u3, u3, u1} n n R), Eq.{succ (max u3 u2)} (Matrix.{u3, u3, u2} n n A) (coeFn.{max (succ (max u2 u3 u1)) (succ (max u3 u2)), max (succ (max u2 u3 u1)) (succ (max u3 u2))} (AlgEquiv.{u1, max u2 u3 u1, max u3 u2} R (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3)) (fun (_x : AlgEquiv.{u1, max u2 u3 u1, max u3 u2} R (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3)) => (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) -> (Matrix.{u3, u3, u2} n n A)) (AlgEquiv.hasCoeToFun.{u1, max u2 u3 u1, max u3 u2} R (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3)) (AlgEquiv.symm.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b))) (TensorProduct.tmul.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a M)) (Matrix.map.{u1, u2, u3, u3} n n R A M (fun (x : R) => HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (fun (_x : RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) => R -> A) (RingHom.hasCoeToFun.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3) x)))
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (a : A) (M : Matrix.{u3, u3, u1} n n R), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => Matrix.{u3, u3, u2} n n A) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a M)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (fun (_x : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => Matrix.{u3, u3, u2} n n A) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (SMulZeroClass.toSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max (max u1 u2) u3, max u2 u3, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) (AlgEquivClass.toAlgHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))))))) (AlgEquiv.symm.{u1, max u2 u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b))) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a M)) (Matrix.map.{u1, u2, u3, u3} n n R A M (fun (x : R) => HMul.hMul.{u2, u2, u2} A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) x) A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) a (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3) x)))
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (a : A) (M : Matrix.{u3, u3, u1} n n R), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => Matrix.{u3, u3, u2} n n A) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a M)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (fun (_x : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => Matrix.{u3, u3, u2} n n A) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (SMulZeroClass.toSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max (max u1 u2) u3, max u2 u3, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) (AlgEquivClass.toAlgHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))))))) (AlgEquiv.symm.{u1, max u2 u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b))) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a M)) (Matrix.map.{u1, u2, u3, u3} n n R A M (fun (x : R) => HMul.hMul.{u2, u2, u2} A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) x) A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) a (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3) x)))
 Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor_apply_symm matrixEquivTensor_apply_symmₓ'. -/
 @[simp]
 theorem matrixEquivTensor_apply_symm (a : A) (M : Matrix n n R) :
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison, Eric Wieser
 
 ! This file was ported from Lean 3 source module ring_theory.matrix_algebra
-! leanprover-community/mathlib commit 6c351a8fb9b06e5a542fdf427bfb9f46724f9453
+! leanprover-community/mathlib commit 33c67ae661dd8988516ff7f247b0be3018cdd952
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -12,6 +12,9 @@ import Mathbin.Data.Matrix.Basis
 import Mathbin.RingTheory.TensorProduct
 
 /-!
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 We show `matrix n n A ≃ₐ[R] (A ⊗[R] matrix n n R)`.
 -/
 
Diff
@@ -52,7 +52,7 @@ def toFunBilinear : A →ₗ[R] Matrix n n R →ₗ[R] Matrix n n A :=
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) (a : A) (m : Matrix.{u3, u3, u1} n n R), Eq.{succ (max u3 u2)} (Matrix.{u3, u3, u2} n n A) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) => (Matrix.{u3, u3, u1} n n R) -> (Matrix.{u3, u3, u2} n n A)) (LinearMap.hasCoeToFun.{u1, u1, max u3 u1, max u3 u2} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max (max u3 u1) u3 u2)), max (succ u2) (succ (max (max u3 u1) u3 u2))} (LinearMap.{u1, u1, u2, max (max u3 u1) u3 u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u3 u1, max u3 u2} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.module.{u1, u1, u1, max u3 u1, max u3 u2} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (MatrixEquivTensor.toFunBilinear._proof_1.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n))) (fun (_x : LinearMap.{u1, u1, u2, max (max u3 u1) u3 u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u3 u1, max u3 u2} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.module.{u1, u1, u1, max u3 u1, max u3 u2} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (MatrixEquivTensor.toFunBilinear._proof_1.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n))) => A -> (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)))) (LinearMap.hasCoeToFun.{u1, u1, u2, max (max u3 u1) u3 u2} R R A (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u3 u1, max u3 u2} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.module.{u1, u1, u1, max u3 u1, max u3 u2} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (MatrixEquivTensor.toFunBilinear._proof_1.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.toFunBilinear.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n) a) m) (SMul.smul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} n n A) (Matrix.hasSmul.{u2, u3, u3, u2} n n A A (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) a (Matrix.map.{u1, u2, u3, u3} n n R A m (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (fun (_x : RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) => R -> A) (RingHom.hasCoeToFun.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3))))
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) (a : A) (m : Matrix.{u3, u3, u1} n n R), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u3, u3, u1} n n R) => Matrix.{u3, u3, u2} n n A) m) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) a) (Matrix.{u3, u3, u1} n n R) (fun (_x : Matrix.{u3, u3, u1} n n R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u3, u3, u1} n n R) => Matrix.{u3, u3, u2} n n A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u2, max (max (succ u1) (succ u2)) (succ u3)} (LinearMap.{u1, u1, u2, max (max u2 u3) u1 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))) A (LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u3, max u2 u3} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (Matrix.smulCommClass.{u2, u3, u3, u1, u1} n n R R A _inst_3.0 _inst_3.0 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max (max u1 u2) u3} R R A (LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u3, max u2 u3} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (Matrix.smulCommClass.{u2, u3, u3, u1, u1} n n R R A _inst_3.0 _inst_3.0 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.toFunBilinear.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n) a) m) (HSMul.hSMul.{u2, max u3 u2, max u2 u3} A (Matrix.{u3, u3, u2} n n A) (Matrix.{u3, u3, u2} n n A) (instHSMul.{u2, max u2 u3} A (Matrix.{u3, u3, u2} n n A) (Matrix.smul.{u2, u3, u3, u2} n n A A (SMulZeroClass.toSMul.{u2, u2} A A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))))) a (Matrix.map.{u1, u2, u3, u3} n n R A m (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3))))
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) (a : A) (m : Matrix.{u3, u3, u1} n n R), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u3, u3, u1} n n R) => Matrix.{u3, u3, u2} n n A) m) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) a) (Matrix.{u3, u3, u1} n n R) (fun (_x : Matrix.{u3, u3, u1} n n R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u3, u3, u1} n n R) => Matrix.{u3, u3, u2} n n A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u2, max (max (succ u1) (succ u2)) (succ u3)} (LinearMap.{u1, u1, u2, max (max u2 u3) u1 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))) A (LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u3, max u2 u3} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (Matrix.smulCommClass.{u2, u3, u3, u1, u1} n n R R A _inst_3.0 _inst_3.0 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max (max u1 u2) u3} R R A (LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u3, max u2 u3} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (Matrix.smulCommClass.{u2, u3, u3, u1, u1} n n R R A _inst_3.0 _inst_3.0 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.toFunBilinear.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n) a) m) (HSMul.hSMul.{u2, max u3 u2, max u2 u3} A (Matrix.{u3, u3, u2} n n A) (Matrix.{u3, u3, u2} n n A) (instHSMul.{u2, max u2 u3} A (Matrix.{u3, u3, u2} n n A) (Matrix.smul.{u2, u3, u3, u2} n n A A (SMulZeroClass.toSMul.{u2, u2} A A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))))) a (Matrix.map.{u1, u2, u3, u3} n n R A m (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3))))
 Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.to_fun_bilinear_apply MatrixEquivTensor.toFunBilinear_applyₓ'. -/
 @[simp]
 theorem toFunBilinear_apply (a : A) (m : Matrix n n R) :
@@ -155,7 +155,7 @@ theorem invFun_smul (a : A) (M : Matrix n n A) : invFun R A n (a • M) = a ⊗
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n] (M : Matrix.{u3, u3, u1} n n R), Eq.{succ (max u2 u3 u1)} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (Matrix.map.{u1, u2, u3, u3} n n R A M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (fun (_x : RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) => R -> A) (RingHom.hasCoeToFun.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3)))) (TensorProduct.tmul.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))) M)
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n] (M : Matrix.{u3, u3, u1} n n R), Eq.{max (max (succ u1) (succ u2)) (succ u3)} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (Matrix.map.{u1, u2, u3, u3} n n R A M (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3)))) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A _inst_2))) M)
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n] (M : Matrix.{u3, u3, u1} n n R), Eq.{max (max (succ u1) (succ u2)) (succ u3)} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (Matrix.map.{u1, u2, u3, u3} n n R A M (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3)))) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A _inst_2))) M)
 Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.inv_fun_algebra_map MatrixEquivTensor.invFun_algebraMapₓ'. -/
 @[simp]
 theorem invFun_algebraMap (M : Matrix n n R) : invFun R A n (M.map (algebraMap R A)) = 1 ⊗ₜ M :=
@@ -249,7 +249,7 @@ theorem matrixEquivTensor_apply_std_basis (i j : n) (x : A) :
 lean 3 declaration is
   forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (a : A) (M : Matrix.{u3, u3, u1} n n R), Eq.{succ (max u3 u2)} (Matrix.{u3, u3, u2} n n A) (coeFn.{max (succ (max u2 u3 u1)) (succ (max u3 u2)), max (succ (max u2 u3 u1)) (succ (max u3 u2))} (AlgEquiv.{u1, max u2 u3 u1, max u3 u2} R (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3)) (fun (_x : AlgEquiv.{u1, max u2 u3 u1, max u3 u2} R (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3)) => (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) -> (Matrix.{u3, u3, u2} n n A)) (AlgEquiv.hasCoeToFun.{u1, max u2 u3 u1, max u3 u2} R (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3)) (AlgEquiv.symm.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b))) (TensorProduct.tmul.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a M)) (Matrix.map.{u1, u2, u3, u3} n n R A M (fun (x : R) => HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (fun (_x : RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) => R -> A) (RingHom.hasCoeToFun.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3) x)))
 but is expected to have type
-  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (a : A) (M : Matrix.{u3, u3, u1} n n R), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => Matrix.{u3, u3, u2} n n A) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a M)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (fun (_x : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => Matrix.{u3, u3, u2} n n A) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (SMulZeroClass.toSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max (max u1 u2) u3, max u2 u3, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) (AlgEquivClass.toAlgHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))))))) (AlgEquiv.symm.{u1, max u2 u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b))) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a M)) (Matrix.map.{u1, u2, u3, u3} n n R A M (fun (x : R) => HMul.hMul.{u2, u2, u2} A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => A) x) A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) a (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3) x)))
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (a : A) (M : Matrix.{u3, u3, u1} n n R), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => Matrix.{u3, u3, u2} n n A) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a M)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (fun (_x : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => Matrix.{u3, u3, u2} n n A) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (SMulZeroClass.toSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max (max u1 u2) u3, max u2 u3, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) (AlgEquivClass.toAlgHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))))))) (AlgEquiv.symm.{u1, max u2 u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b))) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a M)) (Matrix.map.{u1, u2, u3, u3} n n R A M (fun (x : R) => HMul.hMul.{u2, u2, u2} A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) x) A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) a (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2397 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3) x)))
 Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor_apply_symm matrixEquivTensor_apply_symmₓ'. -/
 @[simp]
 theorem matrixEquivTensor_apply_symm (a : A) (M : Matrix n n R) :
Diff
@@ -38,6 +38,7 @@ variable (R A n)
 
 namespace matrixEquivTensor
 
+#print MatrixEquivTensor.toFunBilinear /-
 /-- (Implementation detail).
 The function underlying `(A ⊗[R] matrix n n R) →ₐ[R] matrix n n A`,
 as an `R`-bilinear map.
@@ -45,13 +46,26 @@ as an `R`-bilinear map.
 def toFunBilinear : A →ₗ[R] Matrix n n R →ₗ[R] Matrix n n A :=
   (Algebra.lsmul R (Matrix n n A)).toLinearMap.compl₂ (Algebra.linearMap R A).mapMatrix
 #align matrix_equiv_tensor.to_fun_bilinear MatrixEquivTensor.toFunBilinear
+-/
 
+/- warning: matrix_equiv_tensor.to_fun_bilinear_apply -> MatrixEquivTensor.toFunBilinear_apply is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) (a : A) (m : Matrix.{u3, u3, u1} n n R), Eq.{succ (max u3 u2)} (Matrix.{u3, u3, u2} n n A) (coeFn.{max (succ (max u3 u1)) (succ (max u3 u2)), max (succ (max u3 u1)) (succ (max u3 u2))} (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (fun (_x : LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) => (Matrix.{u3, u3, u1} n n R) -> (Matrix.{u3, u3, u2} n n A)) (LinearMap.hasCoeToFun.{u1, u1, max u3 u1, max u3 u2} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ u2) (succ (max (max u3 u1) u3 u2)), max (succ u2) (succ (max (max u3 u1) u3 u2))} (LinearMap.{u1, u1, u2, max (max u3 u1) u3 u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u3 u1, max u3 u2} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.module.{u1, u1, u1, max u3 u1, max u3 u2} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (MatrixEquivTensor.toFunBilinear._proof_1.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n))) (fun (_x : LinearMap.{u1, u1, u2, max (max u3 u1) u3 u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) A (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u3 u1, max u3 u2} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.module.{u1, u1, u1, max u3 u1, max u3 u2} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (MatrixEquivTensor.toFunBilinear._proof_1.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n))) => A -> (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)))) (LinearMap.hasCoeToFun.{u1, u1, u2, max (max u3 u1) u3 u2} R R A (LinearMap.{u1, u1, max u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u3 u1, max u3 u2} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.module.{u1, u1, u1, max u3 u1, max u3 u2} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (MatrixEquivTensor.toFunBilinear._proof_1.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.toFunBilinear.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n) a) m) (SMul.smul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} n n A) (Matrix.hasSmul.{u2, u3, u3, u2} n n A A (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) a (Matrix.map.{u1, u2, u3, u3} n n R A m (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (fun (_x : RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) => R -> A) (RingHom.hasCoeToFun.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3))))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) (a : A) (m : Matrix.{u3, u3, u1} n n R), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u3, u3, u1} n n R) => Matrix.{u3, u3, u2} n n A) m) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u1) (succ u3), max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) a) (Matrix.{u3, u3, u1} n n R) (fun (_x : Matrix.{u3, u3, u1} n n R) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : Matrix.{u3, u3, u1} n n R) => Matrix.{u3, u3, u2} n n A) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), succ u2, max (max (succ u1) (succ u2)) (succ u3)} (LinearMap.{u1, u1, u2, max (max u2 u3) u1 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))) A (LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u3, max u2 u3} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (Matrix.smulCommClass.{u2, u3, u3, u1, u1} n n R R A _inst_3.0 _inst_3.0 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))))))) A (fun (_x : A) => (fun (x._@.Mathlib.Algebra.Module.LinearMap._hyg.6191 : A) => LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) _x) (LinearMap.instFunLikeLinearMap.{u1, u1, u2, max (max u1 u2) u3} R R A (LinearMap.{u1, u1, max u1 u3, max 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.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (LinearMap.addCommMonoid.{u1, u1, max u1 u3, max u2 u3} R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (LinearMap.instModuleLinearMapAddCommMonoid.{u1, u1, u1, max u1 u3, max u2 u3} R R R (Matrix.{u3, u3, u1} n n R) (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (CommSemiring.toSemiring.{u1} R _inst_1) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)) (Matrix.smulCommClass.{u2, u3, u3, u1, u1} n n R R A _inst_3.0 _inst_3.0 (smulCommClass_self.{u1, u2} R A (CommSemiring.toCommMonoid.{u1} R _inst_1) (MulActionWithZero.toMulAction.{u1, u2} R A (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (Module.toMulActionWithZero.{u1, u2} R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3)))))) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.toFunBilinear.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n) a) m) (HSMul.hSMul.{u2, max u3 u2, max u2 u3} A (Matrix.{u3, u3, u2} n n A) (Matrix.{u3, u3, u2} n n A) (instHSMul.{u2, max u2 u3} A (Matrix.{u3, u3, u2} n n A) (Matrix.smul.{u2, u3, u3, u2} n n A A (SMulZeroClass.toSMul.{u2, u2} A A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))))) a (Matrix.map.{u1, u2, u3, u3} n n R A m (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3))))
+Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.to_fun_bilinear_apply MatrixEquivTensor.toFunBilinear_applyₓ'. -/
 @[simp]
 theorem toFunBilinear_apply (a : A) (m : Matrix n n R) :
     toFunBilinear R A n a m = a • m.map (algebraMap R A) :=
   rfl
 #align matrix_equiv_tensor.to_fun_bilinear_apply MatrixEquivTensor.toFunBilinear_apply
 
+/- warning: matrix_equiv_tensor.to_fun_linear -> MatrixEquivTensor.toFunLinear is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}), LinearMap.{u1, u1, max u2 u3 u1, max u3 u2} R R (CommSemiring.toSemiring.{u1} R _inst_1) (CommSemiring.toSemiring.{u1} R _inst_1) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (TensorProduct.addCommMonoid.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (TensorProduct.module.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}), LinearMap.{u1, u1, max (max u1 u3) u2, max 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))) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (TensorProduct.addCommMonoid.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.addCommMonoid.{u2, u3, u3} n n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (TensorProduct.instModuleTensorProductToSemiringAddCommMonoid.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.module.{u2, u3, u3, u1} n n R A (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3))
+Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.to_fun_linear MatrixEquivTensor.toFunLinearₓ'. -/
 /-- (Implementation detail).
 The function underlying `(A ⊗[R] matrix n n R) →ₐ[R] matrix n n A`,
 as an `R`-linear map.
@@ -62,6 +76,12 @@ def toFunLinear : A ⊗[R] Matrix n n R →ₗ[R] Matrix n n A :=
 
 variable [DecidableEq n] [Fintype n]
 
+/- warning: matrix_equiv_tensor.to_fun_alg_hom -> MatrixEquivTensor.toFunAlgHom is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n], AlgHom.{u1, max u2 u3 u1, max u3 u2} R (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 _inst_2 _inst_3)
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n], AlgHom.{u1, max (max u1 u3) u2, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 _inst_2 _inst_3)
+Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.to_fun_alg_hom MatrixEquivTensor.toFunAlgHomₓ'. -/
 /-- The function `(A ⊗[R] matrix n n R) →ₐ[R] matrix n n A`, as an algebra homomorphism.
 -/
 def toFunAlgHom : A ⊗[R] Matrix n n R →ₐ[R] Matrix n n A :=
@@ -80,12 +100,15 @@ def toFunAlgHom : A ⊗[R] Matrix n n R →ₐ[R] Matrix n n A :=
         Algebra.algebraMap_eq_smul_one])
 #align matrix_equiv_tensor.to_fun_alg_hom MatrixEquivTensor.toFunAlgHom
 
+#print MatrixEquivTensor.toFunAlgHom_apply /-
 @[simp]
 theorem toFunAlgHom_apply (a : A) (m : Matrix n n R) :
     toFunAlgHom R A n (a ⊗ₜ m) = a • m.map (algebraMap R A) := by
   simp [to_fun_alg_hom, alg_hom_of_linear_map_tensor_product, to_fun_linear]
 #align matrix_equiv_tensor.to_fun_alg_hom_apply MatrixEquivTensor.toFunAlgHom_apply
+-/
 
+#print MatrixEquivTensor.invFun /-
 /-- (Implementation detail.)
 
 The bare function `matrix n n A → A ⊗[R] matrix n n R`.
@@ -94,21 +117,46 @@ The bare function `matrix n n A → A ⊗[R] matrix n n R`.
 def invFun (M : Matrix n n A) : A ⊗[R] Matrix n n R :=
   ∑ p : n × n, M p.1 p.2 ⊗ₜ stdBasisMatrix p.1 p.2 1
 #align matrix_equiv_tensor.inv_fun MatrixEquivTensor.invFun
+-/
 
+/- warning: matrix_equiv_tensor.inv_fun_zero -> MatrixEquivTensor.invFun_zero is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n], Eq.{succ (max u2 u3 u1)} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (OfNat.ofNat.{max u3 u2} (Matrix.{u3, u3, u2} n n A) 0 (OfNat.mk.{max u3 u2} (Matrix.{u3, u3, u2} n n A) 0 (Zero.zero.{max u3 u2} (Matrix.{u3, u3, u2} n n A) (Matrix.hasZero.{u2, u3, u3} n n A (MulZeroClass.toHasZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))))) (OfNat.ofNat.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) 0 (OfNat.mk.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) 0 (Zero.zero.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MulZeroClass.toHasZero.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMulZeroClass.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))))))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n], Eq.{max (max (succ u1) (succ u2)) (succ u3)} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (OfNat.ofNat.{max u2 u3} (Matrix.{u3, u3, u2} n n A) 0 (Zero.toOfNat0.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.zero.{u2, u3, u3} n n A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)))))) (OfNat.ofNat.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) 0 (Zero.toOfNat0.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toMonoidWithZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))
+Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.inv_fun_zero MatrixEquivTensor.invFun_zeroₓ'. -/
 @[simp]
 theorem invFun_zero : invFun R A n 0 = 0 := by simp [inv_fun]
 #align matrix_equiv_tensor.inv_fun_zero MatrixEquivTensor.invFun_zero
 
+/- warning: matrix_equiv_tensor.inv_fun_add -> MatrixEquivTensor.invFun_add is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n] (M : Matrix.{u3, u3, u2} n n A) (N : Matrix.{u3, u3, u2} n n A), Eq.{succ (max u2 u3 u1)} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (HAdd.hAdd.{max u3 u2, max u3 u2, max u3 u2} (Matrix.{u3, u3, u2} n n A) (Matrix.{u3, u3, u2} n n A) (Matrix.{u3, u3, u2} n n A) (instHAdd.{max u3 u2} (Matrix.{u3, u3, u2} n n A) (Matrix.hasAdd.{u2, u3, u3} n n A (Distrib.toHasAdd.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) M N)) (HAdd.hAdd.{max u2 u3 u1, max u2 u3 u1, max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (instHAdd.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Distrib.toHasAdd.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 M) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 N))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n] (M : Matrix.{u3, u3, u2} n n A) (N : Matrix.{u3, u3, u2} n n A), Eq.{max (max (succ u1) (succ u2)) (succ u3)} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (HAdd.hAdd.{max u2 u3, max u2 u3, max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.{u3, u3, u2} n n A) (Matrix.{u3, u3, u2} n n A) (instHAdd.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.add.{u2, u3, u3} n n A (Distrib.toAdd.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) M N)) (HAdd.hAdd.{max (max u1 u2) u3, max (max u1 u2) u3, max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (instHAdd.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Distrib.toAdd.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toDistrib.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 M) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 N))
+Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.inv_fun_add MatrixEquivTensor.invFun_addₓ'. -/
 @[simp]
 theorem invFun_add (M N : Matrix n n A) : invFun R A n (M + N) = invFun R A n M + invFun R A n N :=
   by simp [inv_fun, add_tmul, Finset.sum_add_distrib]
 #align matrix_equiv_tensor.inv_fun_add MatrixEquivTensor.invFun_add
 
+/- warning: matrix_equiv_tensor.inv_fun_smul -> MatrixEquivTensor.invFun_smul is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n] (a : A) (M : Matrix.{u3, u3, u2} n n A), Eq.{succ (max u2 u3 u1)} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (SMul.smul.{u2, max u3 u2} A (Matrix.{u3, u3, u2} n n A) (Matrix.hasSmul.{u2, u3, u3, u2} n n A A (Mul.toSMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) a M)) (HMul.hMul.{max u2 u3 u1, max u2 u3 u1, max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (instHMul.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Distrib.toHasMul.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toDistrib.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max u2 u3 u1} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (TensorProduct.tmul.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a (OfNat.ofNat.{max u3 u1} (Matrix.{u3, u3, u1} n n R) 1 (OfNat.mk.{max u3 u1} (Matrix.{u3, u3, u1} n n R) 1 (One.one.{max u3 u1} (Matrix.{u3, u3, u1} n n R) (Matrix.hasOne.{u1, u3} n R (fun (a : n) (b : n) => _inst_4 a b) (MulZeroClass.toHasZero.{u1} R (NonUnitalNonAssocSemiring.toMulZeroClass.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 M))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n] (a : A) (M : Matrix.{u3, u3, u2} n n A), Eq.{max (max (succ u1) (succ u2)) (succ u3)} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (HSMul.hSMul.{u2, max u2 u3, max u2 u3} A (Matrix.{u3, u3, u2} n n A) (Matrix.{u3, u3, u2} n n A) (instHSMul.{u2, max u2 u3} A (Matrix.{u3, u3, u2} n n A) (Matrix.smul.{u2, u3, u3, u2} n n A A (SMulZeroClass.toSMul.{u2, u2} A A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (SMulWithZero.toSMulZeroClass.{u2, u2} A A (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (MulZeroClass.toSMulWithZero.{u2} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))))) a M)) (HMul.hMul.{max u2 u1 u3, max (max u1 u2) u3, max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (instHMul.{max u2 u1 u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_5 (fun (a : n) (b : n) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_5 (fun (a : n) (b : n) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a (OfNat.ofNat.{max u1 u3} (Matrix.{u3, u3, u1} n n R) 1 (One.toOfNat1.{max u1 u3} (Matrix.{u3, u3, u1} n n R) (Matrix.one.{u1, u3} n R (fun (a : n) (b : n) => _inst_4 a b) (CommMonoidWithZero.toZero.{u1} R (CommSemiring.toCommMonoidWithZero.{u1} R _inst_1)) (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 M))
+Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.inv_fun_smul MatrixEquivTensor.invFun_smulₓ'. -/
 @[simp]
 theorem invFun_smul (a : A) (M : Matrix n n A) : invFun R A n (a • M) = a ⊗ₜ 1 * invFun R A n M :=
   by simp [inv_fun, Finset.mul_sum]
 #align matrix_equiv_tensor.inv_fun_smul MatrixEquivTensor.invFun_smul
 
+/- warning: matrix_equiv_tensor.inv_fun_algebra_map -> MatrixEquivTensor.invFun_algebraMap is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n] (M : Matrix.{u3, u3, u1} n n R), Eq.{succ (max u2 u3 u1)} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (Matrix.map.{u1, u2, u3, u3} n n R A M (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (fun (_x : RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) => R -> A) (RingHom.hasCoeToFun.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3)))) (TensorProduct.tmul.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} A 1 (OfNat.mk.{u2} A 1 (One.one.{u2} A (AddMonoidWithOne.toOne.{u2} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u2} A (NonAssocSemiring.toAddCommMonoidWithOne.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))))) M)
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : DecidableEq.{succ u3} n] [_inst_5 : Fintype.{u3} n] (M : Matrix.{u3, u3, u1} n n R), Eq.{max (max (succ u1) (succ u2)) (succ u3)} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MatrixEquivTensor.invFun.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n (fun (a : n) (b : n) => _inst_4 a b) _inst_5 (Matrix.map.{u1, u2, u3, u3} n n R A M (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3)))) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (OfNat.ofNat.{u2} A 1 (One.toOfNat1.{u2} A (Semiring.toOne.{u2} A _inst_2))) M)
+Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor.inv_fun_algebra_map MatrixEquivTensor.invFun_algebraMapₓ'. -/
 @[simp]
 theorem invFun_algebraMap (M : Matrix n n R) : invFun R A n (M.map (algebraMap R A)) = 1 ⊗ₜ M :=
   by
@@ -119,6 +167,7 @@ theorem invFun_algebraMap (M : Matrix n n R) : invFun R A n (M.map (algebraMap R
   convert Finset.sum_product; simp
 #align matrix_equiv_tensor.inv_fun_algebra_map MatrixEquivTensor.invFun_algebraMap
 
+#print MatrixEquivTensor.right_inv /-
 theorem right_inv (M : Matrix n n A) : (toFunAlgHom R A n) (invFun R A n M) = M :=
   by
   simp only [inv_fun, AlgHom.map_sum, std_basis_matrix, apply_ite ⇑(algebraMap R A), smul_eq_mul,
@@ -126,7 +175,9 @@ theorem right_inv (M : Matrix n n A) : (toFunAlgHom R A n) (invFun R A n M) = M
     Pi.smul_def]
   convert Finset.sum_product; apply matrix_eq_sum_std_basis
 #align matrix_equiv_tensor.right_inv MatrixEquivTensor.right_inv
+-/
 
+#print MatrixEquivTensor.left_inv /-
 theorem left_inv (M : A ⊗[R] Matrix n n R) : invFun R A n (toFunAlgHom R A n M) = M :=
   by
   induction' M using TensorProduct.induction_on with a m x y hx hy
@@ -134,7 +185,9 @@ theorem left_inv (M : A ⊗[R] Matrix n n R) : invFun R A n (toFunAlgHom R A n M
   · simp
   · simp [AlgHom.map_sum, hx, hy]
 #align matrix_equiv_tensor.left_inv MatrixEquivTensor.left_inv
+-/
 
+#print MatrixEquivTensor.equiv /-
 /-- (Implementation detail)
 
 The equivalence, ignoring the algebra structure, `(A ⊗[R] matrix n n R) ≃ matrix n n A`.
@@ -146,11 +199,18 @@ def equiv : A ⊗[R] Matrix n n R ≃ Matrix n n A
   left_inv := left_inv R A n
   right_inv := right_inv R A n
 #align matrix_equiv_tensor.equiv MatrixEquivTensor.equiv
+-/
 
 end matrixEquivTensor
 
 variable [Fintype n] [DecidableEq n]
 
+/- warning: matrix_equiv_tensor -> matrixEquivTensor is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n], AlgEquiv.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n], AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))
+Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor matrixEquivTensorₓ'. -/
 /-- The `R`-algebra isomorphism `matrix n n A ≃ₐ[R] (A ⊗[R] matrix n n R)`.
 -/
 def matrixEquivTensor : Matrix n n A ≃ₐ[R] A ⊗[R] Matrix n n R :=
@@ -159,12 +219,24 @@ def matrixEquivTensor : Matrix n n A ≃ₐ[R] A ⊗[R] Matrix n n R :=
 
 open matrixEquivTensor
 
+/- warning: matrix_equiv_tensor_apply -> matrixEquivTensor_apply is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (M : Matrix.{u3, u3, u2} n n A), Eq.{succ (max u2 u3 u1)} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u3 u2)) (succ (max u2 u3 u1)), max (succ (max u3 u2)) (succ (max u2 u3 u1))} (AlgEquiv.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (fun (_x : AlgEquiv.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) => (Matrix.{u3, u3, u2} n n A) -> (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AlgEquiv.hasCoeToFun.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) M) (Finset.sum.{max u2 u3 u1, u3} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Prod.{u3, u3} n n) (TensorProduct.addCommMonoid.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Finset.univ.{u3} (Prod.{u3, u3} n n) (Prod.fintype.{u3, u3} n n _inst_4 _inst_4)) (fun (p : Prod.{u3, u3} n n) => TensorProduct.tmul.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (M (Prod.fst.{u3, u3} n n p) (Prod.snd.{u3, u3} n n p)) (Matrix.stdBasisMatrix.{u3, u3, u1} n n R (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) (CommSemiring.toSemiring.{u1} R _inst_1) (Prod.fst.{u3, u3} n n p) (Prod.snd.{u3, u3} n n p) (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))))))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (M : Matrix.{u3, u3, u2} n n A), Eq.{max (max (succ u1) (succ u2)) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} n n A) => TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) M) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (fun (_x : Matrix.{u3, u3, u2} n n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} n n A) => TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u2 u3, max (max u1 u2) u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (AlgEquivClass.toAlgHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, max u2 u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) M) (Finset.sum.{max (max u1 u3) u2, u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Prod.{u3, u3} n n) (Algebra.TensorProduct.instAddCommMonoidTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Finset.univ.{u3} (Prod.{u3, u3} n n) (instFintypeProd.{u3, u3} n n _inst_4 _inst_4)) (fun (p : Prod.{u3, u3} n n) => TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (M (Prod.fst.{u3, u3} n n p) (Prod.snd.{u3, u3} n n p)) (Matrix.stdBasisMatrix.{u3, u3, u1} n n R (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) (CommSemiring.toSemiring.{u1} R _inst_1) (Prod.fst.{u3, u3} n n p) (Prod.snd.{u3, u3} n n p) (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))))))
+Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor_apply matrixEquivTensor_applyₓ'. -/
 @[simp]
 theorem matrixEquivTensor_apply (M : Matrix n n A) :
     matrixEquivTensor R A n M = ∑ p : n × n, M p.1 p.2 ⊗ₜ stdBasisMatrix p.1 p.2 1 :=
   rfl
 #align matrix_equiv_tensor_apply matrixEquivTensor_apply
 
+/- warning: matrix_equiv_tensor_apply_std_basis -> matrixEquivTensor_apply_std_basis is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (i : n) (j : n) (x : A), Eq.{succ (max u2 u3 u1)} (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (coeFn.{max (succ (max u3 u2)) (succ (max u2 u3 u1)), max (succ (max u3 u2)) (succ (max u2 u3 u1))} (AlgEquiv.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (fun (_x : AlgEquiv.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) => (Matrix.{u3, u3, u2} n n A) -> (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (AlgEquiv.hasCoeToFun.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.stdBasisMatrix.{u3, u3, u2} n n A (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) _inst_2 i j x)) (TensorProduct.tmul.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) x (Matrix.stdBasisMatrix.{u3, u3, u1} n n R (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) (CommSemiring.toSemiring.{u1} R _inst_1) i j (OfNat.ofNat.{u1} R 1 (OfNat.mk.{u1} R 1 (One.one.{u1} R (AddMonoidWithOne.toOne.{u1} R (AddCommMonoidWithOne.toAddMonoidWithOne.{u1} R (NonAssocSemiring.toAddCommMonoidWithOne.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))))))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (i : n) (j : n) (x : A), Eq.{max (max (succ u1) (succ u2)) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} n n A) => TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.stdBasisMatrix.{u3, u3, u2} n n A (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) _inst_2 i j x)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3), max (max (succ u1) (succ u2)) (succ u3)} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (fun (_x : Matrix.{u3, u3, u2} n n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u2} n n A) => TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)))))) (SMulZeroClass.toSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max u2 u3, max (max u1 u2) u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (AlgEquivClass.toAlgHomClass.{max (max u1 u2) u3, u1, max u2 u3, max (max u1 u2) u3} (AlgEquiv.{u1, max u2 u3, max (max u1 u3) u2} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, max u2 u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.stdBasisMatrix.{u3, u3, u2} n n A (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) _inst_2 i j x)) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) x (Matrix.stdBasisMatrix.{u3, u3, u1} n n R (fun (a : n) (b : n) => _inst_5 a b) (fun (a : n) (b : n) => _inst_5 a b) (CommSemiring.toSemiring.{u1} R _inst_1) i j (OfNat.ofNat.{u1} R 1 (One.toOfNat1.{u1} R (Semiring.toOne.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))))
+Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor_apply_std_basis matrixEquivTensor_apply_std_basisₓ'. -/
 @[simp]
 theorem matrixEquivTensor_apply_std_basis (i j : n) (x : A) :
     matrixEquivTensor R A n (stdBasisMatrix i j x) = x ⊗ₜ stdBasisMatrix i j 1 :=
@@ -173,6 +245,12 @@ theorem matrixEquivTensor_apply_std_basis (i j : n) (x : A) :
   simp [ite_tmul, t, std_basis_matrix]
 #align matrix_equiv_tensor_apply_std_basis matrixEquivTensor_apply_std_basis
 
+/- warning: matrix_equiv_tensor_apply_symm -> matrixEquivTensor_apply_symm is a dubious translation:
+lean 3 declaration is
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (a : A) (M : Matrix.{u3, u3, u1} n n R), Eq.{succ (max u3 u2)} (Matrix.{u3, u3, u2} n n A) (coeFn.{max (succ (max u2 u3 u1)) (succ (max u3 u2)), max (succ (max u2 u3 u1)) (succ (max u3 u2))} (AlgEquiv.{u1, max u2 u3 u1, max u3 u2} R (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3)) (fun (_x : AlgEquiv.{u1, max u2 u3 u1, max u3 u2} R (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3)) => (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) -> (Matrix.{u3, u3, u2} n n A)) (AlgEquiv.hasCoeToFun.{u1, max u2 u3 u1, max u3 u2} R (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3)) (AlgEquiv.symm.{u1, max u3 u2, max u2 u3 u1} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Algebra.TensorProduct.TensorProduct.semiring.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.algebra.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.TensorProduct.algebra.{u1, u2, max u3 u1} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b)) (Matrix.algebra.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => (fun (a : n) (b : n) => _inst_5 a b) a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b))) (TensorProduct.tmul.{u1, u2, max u3 u1} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a M)) (Matrix.map.{u1, u2, u3, u3} n n R A M (fun (x : R) => HMul.hMul.{u2, u2, u2} A A A (instHMul.{u2} A (Distrib.toHasMul.{u2} A (NonUnitalNonAssocSemiring.toDistrib.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) a (coeFn.{max (succ u1) (succ u2), max (succ u1) (succ u2)} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (fun (_x : RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) => R -> A) (RingHom.hasCoeToFun.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3) x)))
+but is expected to have type
+  forall (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] (A : Type.{u2}) [_inst_2 : Semiring.{u2} A] [_inst_3 : Algebra.{u1, u2} R A _inst_1 _inst_2] (n : Type.{u3}) [_inst_4 : Fintype.{u3} n] [_inst_5 : DecidableEq.{succ u3} n] (a : A) (M : Matrix.{u3, u3, u1} n n R), Eq.{max (succ u2) (succ u3)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => Matrix.{u3, u3, u2} n n A) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a M)) (FunLike.coe.{max (max (succ u1) (succ u2)) (succ u3), max (max (succ u1) (succ u2)) (succ u3), max (succ u2) (succ u3)} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (fun (_x : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) => Matrix.{u3, u3, u2} n n A) _x) (SMulHomClass.toFunLike.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (SMulZeroClass.toSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toZero.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddMonoid.toAddZeroClass.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (SMulZeroClass.toSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toZero.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toNonAssocSemiring.{max (max u1 u2) u3} (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))) (Algebra.toModule.{u1, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))) (Module.toDistribMulAction.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u3, u3, u2} n n A) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u3} R (Matrix.{u3, u3, u2} n n A) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u1, max (max u1 u2) u3, max u2 u3, max (max u1 u2) u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) (AlgEquivClass.toAlgHomClass.{max (max u1 u2) u3, u1, max (max u1 u2) u3, max u2 u3} (AlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3)) R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (AlgEquiv.instAlgEquivClassAlgEquiv.{u1, max (max u1 u2) u3, max u2 u3} R (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Matrix.{u3, u3, u2} n n A) _inst_1 (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3))))))) (AlgEquiv.symm.{u1, max u2 u3, max (max u1 u2) u3} R (Matrix.{u3, u3, u2} n n A) (TensorProduct.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) _inst_1 (Matrix.semiring.{u2, u3} n A _inst_2 _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Algebra.TensorProduct.instSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u2, u3, u1} n R A _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 _inst_2 _inst_3) (Algebra.TensorProduct.instAlgebraTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModuleInstSemiringTensorProductToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonAssocSemiringToModuleToModule.{u1, u2, max u1 u3} R _inst_1 A _inst_2 _inst_3 (Matrix.{u3, u3, u1} n n R) (Matrix.semiring.{u1, u3} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (matrixEquivTensor.{u1, u2, u3} R _inst_1 A _inst_2 _inst_3 n _inst_4 (fun (a : n) (b : n) => _inst_5 a b))) (TensorProduct.tmul.{u1, u2, max u1 u3} R _inst_1 A (Matrix.{u3, u3, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (Matrix.addCommMonoid.{u1, u3, u3} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))))) (Algebra.toModule.{u1, u2} R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u1, u3, u3, u1} n n R R (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (Semiring.toModule.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) a M)) (Matrix.map.{u1, u2, u3, u3} n n R A M (fun (x : R) => HMul.hMul.{u2, u2, u2} A ((fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => A) x) A (instHMul.{u2} A (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) a (FunLike.coe.{max (succ u1) (succ u2), succ u1, succ u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R (fun (_x : R) => (fun (x._@.Mathlib.Algebra.Hom.Group._hyg.2391 : R) => A) _x) (MulHomClass.toFunLike.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalRingHomClass.toMulHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)) (RingHomClass.toNonUnitalRingHomClass.{max u1 u2, u1, u2} (RingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2)) R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2) (RingHom.instRingHomClassRingHom.{u1, u2} R A (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)) (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (algebraMap.{u1, u2} R A _inst_1 _inst_2 _inst_3) x)))
+Case conversion may be inaccurate. Consider using '#align matrix_equiv_tensor_apply_symm matrixEquivTensor_apply_symmₓ'. -/
 @[simp]
 theorem matrixEquivTensor_apply_symm (a : A) (M : Matrix n n R) :
     (matrixEquivTensor R A n).symm (a ⊗ₜ M) = M.map fun x => a * algebraMap R A x :=

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
@@ -27,11 +27,8 @@ open Algebra.TensorProduct
 open Matrix
 
 variable {R : Type u} [CommSemiring R]
-
 variable {A : Type v} [Semiring A] [Algebra R A]
-
 variable {n : Type w}
-
 variable (R A n)
 
 namespace MatrixEquivTensor
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
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison, Eric Wieser
 -/
 import Mathlib.Data.Matrix.Basis
-import Mathlib.RingTheory.TensorProduct
+import Mathlib.RingTheory.TensorProduct.Basic
 
 #align_import ring_theory.matrix_algebra from "leanprover-community/mathlib"@"6c351a8fb9b06e5a542fdf427bfb9f46724f9453"
 
style: reduce spacing variation in "porting note" comments (#10886)

In this pull request, I have systematically eliminated the leading whitespace preceding the colon (:) within all unlabelled or unclassified porting notes. This adjustment facilitates a more efficient review process for the remaining notes by ensuring no entries are overlooked due to formatting inconsistencies.

Diff
@@ -162,7 +162,7 @@ theorem matrixEquivTensor_apply (M : Matrix n n A) :
   rfl
 #align matrix_equiv_tensor_apply matrixEquivTensor_apply
 
--- Porting note : short circuiting simplifier from simplifying left hand side
+-- Porting note: short circuiting simplifier from simplifying left hand side
 @[simp (high)]
 theorem matrixEquivTensor_apply_std_basis (i j : n) (x : A) :
     matrixEquivTensor R A n (stdBasisMatrix i j x) = x ⊗ₜ stdBasisMatrix i j 1 := by
feat: use suppress_compilation in tensor products (#7504)

More principled version of #7281.

Diff
@@ -12,6 +12,7 @@ import Mathlib.RingTheory.TensorProduct
 We show `Matrix n n A ≃ₐ[R] (A ⊗[R] Matrix n n R)`.
 -/
 
+suppress_compilation
 
 universe u v w
 
refactor(RingTheory/TensorProduct): simplify assumptions (#7403)

Rather than showing agreement on all the scalars in algHomOfLinearMapTensorProduct, it suffices to show agreement on 1.

This also replaces a few downstream proofs with rfl in order to make them eligible for dsimp. These results were always true by rfl, but it was easier to make this change than fix the old proofs.

Diff
@@ -71,16 +71,13 @@ def toFunAlgHom : A ⊗[R] Matrix n n R →ₐ[R] Matrix n n A :=
       simp_rw [Matrix.mul_apply, Matrix.smul_apply, Matrix.map_apply, smul_eq_mul, Finset.mul_sum,
         _root_.mul_assoc, Algebra.left_comm])
     (by
-      intros
       simp_rw [toFunLinear, lift.tmul, toFunBilinear_apply,
-        Matrix.map_one (algebraMap R A) (map_zero _) (map_one _), algebraMap_smul,
-        Algebra.algebraMap_eq_smul_one])
+        Matrix.map_one (algebraMap R A) (map_zero _) (map_one _), one_smul])
 #align matrix_equiv_tensor.to_fun_alg_hom MatrixEquivTensor.toFunAlgHom
 
 @[simp]
 theorem toFunAlgHom_apply (a : A) (m : Matrix n n R) :
-    toFunAlgHom R A n (a ⊗ₜ m) = a • m.map (algebraMap R A) := by
-  simp [toFunAlgHom, algHomOfLinearMapTensorProduct, toFunLinear]
+    toFunAlgHom R A n (a ⊗ₜ m) = a • m.map (algebraMap R A) := rfl
 #align matrix_equiv_tensor.to_fun_alg_hom_apply MatrixEquivTensor.toFunAlgHom_apply
 
 /-- (Implementation detail.)
@@ -174,8 +171,6 @@ theorem matrixEquivTensor_apply_std_basis (i j : n) (x : A) :
 
 @[simp]
 theorem matrixEquivTensor_apply_symm (a : A) (M : Matrix n n R) :
-    (matrixEquivTensor R A n).symm (a ⊗ₜ M) = M.map fun x => a * algebraMap R A x := by
-  simp [matrixEquivTensor, MatrixEquivTensor.toFunAlgHom, algHomOfLinearMapTensorProduct,
-    MatrixEquivTensor.toFunLinear]
+    (matrixEquivTensor R A n).symm (a ⊗ₜ M) = M.map fun x => a * algebraMap R A x :=
   rfl
 #align matrix_equiv_tensor_apply_symm matrixEquivTensor_apply_symm
perf: remove overspecified fields (#6965)

This removes redundant field values of the form add := add for smaller terms and less unfolding during unification.

A list of all files containing a structure instance of the form { a1, ... with x1 := val, ... } where some xi is a field of some aj was generated by modifying the structure instance elaboration algorithm to print such overlaps to stdout in a custom toolchain.

Using that toolchain, I went through each file on the list and attempted to remove algebraic fields that overlapped and were redundant, eg add := add and not toFun (though some other ones did creep in). If things broke (which was the case in a couple of cases), I did not push further and reverted.

It is possible that pushing harder and trying to remove all redundant overlaps will yield further improvements.

Diff
@@ -80,7 +80,7 @@ def toFunAlgHom : A ⊗[R] Matrix n n R →ₐ[R] Matrix n n A :=
 @[simp]
 theorem toFunAlgHom_apply (a : A) (m : Matrix n n R) :
     toFunAlgHom R A n (a ⊗ₜ m) = a • m.map (algebraMap R A) := by
-  simp [toFunAlgHom, algHomOfLinearMapTensorProduct, toFunLinear]; rfl
+  simp [toFunAlgHom, algHomOfLinearMapTensorProduct, toFunLinear]
 #align matrix_equiv_tensor.to_fun_alg_hom_apply MatrixEquivTensor.toFunAlgHom_apply
 
 /-- (Implementation detail.)
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
@@ -65,7 +65,7 @@ def toFunAlgHom : A ⊗[R] Matrix n n R →ₐ[R] Matrix n n A :=
   algHomOfLinearMapTensorProduct (toFunLinear R A n)
     (by
       intros
-      simp_rw [toFunLinear, lift.tmul, toFunBilinear_apply, mul_eq_mul, Matrix.map_mul]
+      simp_rw [toFunLinear, lift.tmul, toFunBilinear_apply, Matrix.map_mul]
       ext
       dsimp
       simp_rw [Matrix.mul_apply, Matrix.smul_apply, Matrix.map_apply, smul_eq_mul, Finset.mul_sum,
chore(LinearAlgebra/TensorProduct): better names for induction hypotheses (#6451)

This also makes some proofs more verbose to make it clearer which goal is which.

Diff
@@ -127,10 +127,11 @@ theorem right_inv (M : Matrix n n A) : (toFunAlgHom R A n) (invFun R A n M) = M
 #align matrix_equiv_tensor.right_inv MatrixEquivTensor.right_inv
 
 theorem left_inv (M : A ⊗[R] Matrix n n R) : invFun R A n (toFunAlgHom R A n M) = M := by
-  induction' M using TensorProduct.induction_on with a m x y hx hy
-  · simp
-  · simp
-  · rw [map_add]
+  induction M using TensorProduct.induction_on with
+  | zero => simp
+  | tmul a m => simp
+  | add x y hx hy =>
+    rw [map_add]
     conv_rhs => rw [← hx, ← hy, ← invFun_add]
 #align matrix_equiv_tensor.left_inv MatrixEquivTensor.left_inv
 
feat: generalize scalars in Algebra.lsmul (#6209)

This generalizes from Algebra.lsmul R M : A →ₐ[R] Module.End R M to Algebra.lsmul R S M : A →ₐ[R] Module.End S M.

This generalization was previously not possible because Module.End S M was not an R-algebra.

Notably this now allows things like Algebra.lsmul R A A : Aᵐᵒᵖ →ₐ[R] Module.End A A (right multiplication).

This doesn't bother attempting to generalize uses in downstream files, as most of them probably do not need the generality. Instead, we just replace Algebra.lsmul R with Algebra.lsmul R R.

Diff
@@ -40,7 +40,7 @@ The function underlying `(A ⊗[R] Matrix n n R) →ₐ[R] Matrix n n A`,
 as an `R`-bilinear map.
 -/
 def toFunBilinear : A →ₗ[R] Matrix n n R →ₗ[R] Matrix n n A :=
-  (Algebra.lsmul R (Matrix n n A)).toLinearMap.compl₂ (Algebra.linearMap R A).mapMatrix
+  (Algebra.lsmul R R (Matrix n n A)).toLinearMap.compl₂ (Algebra.linearMap R A).mapMatrix
 #align matrix_equiv_tensor.to_fun_bilinear MatrixEquivTensor.toFunBilinear
 
 @[simp]
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,15 +2,12 @@
 Copyright (c) 2020 Scott Morrison. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Scott Morrison, Eric Wieser
-
-! This file was ported from Lean 3 source module ring_theory.matrix_algebra
-! leanprover-community/mathlib commit 6c351a8fb9b06e5a542fdf427bfb9f46724f9453
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.Data.Matrix.Basis
 import Mathlib.RingTheory.TensorProduct
 
+#align_import ring_theory.matrix_algebra from "leanprover-community/mathlib"@"6c351a8fb9b06e5a542fdf427bfb9f46724f9453"
+
 /-!
 We show `Matrix n n A ≃ₐ[R] (A ⊗[R] Matrix n n R)`.
 -/
feat: port RingTheory.MatrixAlgebra (#4063)

Co-authored-by: Ruben Van de Velde <65514131+Ruben-VandeVelde@users.noreply.github.com> Co-authored-by: Jujian Zhang <jujian.zhang1998@outlook.com>

Dependencies 10 + 516

517 files ported (98.1%)
215875 lines ported (98.4%)
Show graph

The unported dependencies are