linear_algebra.matrix.reindexMathlib.LinearAlgebra.Matrix.Reindex

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)

(last sync)

Changes in mathlib3port

mathlib3
mathlib3port
Diff
@@ -3,7 +3,7 @@ Copyright (c) 2019 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen
 -/
-import Mathbin.LinearAlgebra.Matrix.Determinant
+import LinearAlgebra.Matrix.Determinant
 
 #align_import linear_algebra.matrix.reindex from "leanprover-community/mathlib"@"86d1873c01a723aba6788f0b9051ae3d23b4c1c3"
 
Diff
@@ -177,7 +177,7 @@ theorem reindexAlgEquiv_refl : reindexAlgEquiv R (Equiv.refl m) = AlgEquiv.refl
 #print Matrix.reindexAlgEquiv_mul /-
 theorem reindexAlgEquiv_mul (e : m ≃ n) (M : Matrix m m R) (N : Matrix m m R) :
     reindexAlgEquiv R e (M ⬝ N) = reindexAlgEquiv R e M ⬝ reindexAlgEquiv R e N :=
-  (reindexAlgEquiv R e).map_mul M N
+  (reindexAlgEquiv R e).map_hMul M N
 #align matrix.reindex_alg_equiv_mul Matrix.reindexAlgEquiv_mul
 -/
 
Diff
@@ -2,14 +2,11 @@
 Copyright (c) 2019 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen
-
-! This file was ported from Lean 3 source module linear_algebra.matrix.reindex
-! leanprover-community/mathlib commit 86d1873c01a723aba6788f0b9051ae3d23b4c1c3
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathbin.LinearAlgebra.Matrix.Determinant
 
+#align_import linear_algebra.matrix.reindex from "leanprover-community/mathlib"@"86d1873c01a723aba6788f0b9051ae3d23b4c1c3"
+
 /-!
 # Changing the index type of a matrix
 
Diff
@@ -56,47 +56,61 @@ def reindexLinearEquiv (eₘ : m ≃ m') (eₙ : n ≃ n') : Matrix m n A ≃ₗ
 #align matrix.reindex_linear_equiv Matrix.reindexLinearEquiv
 -/
 
+#print Matrix.reindexLinearEquiv_apply /-
 @[simp]
 theorem reindexLinearEquiv_apply (eₘ : m ≃ m') (eₙ : n ≃ n') (M : Matrix m n A) :
     reindexLinearEquiv R A eₘ eₙ M = reindex eₘ eₙ M :=
   rfl
 #align matrix.reindex_linear_equiv_apply Matrix.reindexLinearEquiv_apply
+-/
 
+#print Matrix.reindexLinearEquiv_symm /-
 @[simp]
 theorem reindexLinearEquiv_symm (eₘ : m ≃ m') (eₙ : n ≃ n') :
     (reindexLinearEquiv R A eₘ eₙ).symm = reindexLinearEquiv R A eₘ.symm eₙ.symm :=
   rfl
 #align matrix.reindex_linear_equiv_symm Matrix.reindexLinearEquiv_symm
+-/
 
+#print Matrix.reindexLinearEquiv_refl_refl /-
 @[simp]
 theorem reindexLinearEquiv_refl_refl :
     reindexLinearEquiv R A (Equiv.refl m) (Equiv.refl n) = LinearEquiv.refl R _ :=
   LinearEquiv.ext fun _ => rfl
 #align matrix.reindex_linear_equiv_refl_refl Matrix.reindexLinearEquiv_refl_refl
+-/
 
+#print Matrix.reindexLinearEquiv_trans /-
 theorem reindexLinearEquiv_trans (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m' ≃ m'') (e₂' : n' ≃ n'') :
     (reindexLinearEquiv R A e₁ e₂).trans (reindexLinearEquiv R A e₁' e₂') =
       (reindexLinearEquiv R A (e₁.trans e₁') (e₂.trans e₂') : _ ≃ₗ[R] _) :=
   by ext; rfl
 #align matrix.reindex_linear_equiv_trans Matrix.reindexLinearEquiv_trans
+-/
 
+#print Matrix.reindexLinearEquiv_comp /-
 theorem reindexLinearEquiv_comp (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m' ≃ m'') (e₂' : n' ≃ n'') :
     reindexLinearEquiv R A e₁' e₂' ∘ reindexLinearEquiv R A e₁ e₂ =
       reindexLinearEquiv R A (e₁.trans e₁') (e₂.trans e₂') :=
   by rw [← reindex_linear_equiv_trans]; rfl
 #align matrix.reindex_linear_equiv_comp Matrix.reindexLinearEquiv_comp
+-/
 
+#print Matrix.reindexLinearEquiv_comp_apply /-
 theorem reindexLinearEquiv_comp_apply (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m' ≃ m'') (e₂' : n' ≃ n'')
     (M : Matrix m n A) :
     (reindexLinearEquiv R A e₁' e₂') (reindexLinearEquiv R A e₁ e₂ M) =
       reindexLinearEquiv R A (e₁.trans e₁') (e₂.trans e₂') M :=
   submatrix_submatrix _ _ _ _ _
 #align matrix.reindex_linear_equiv_comp_apply Matrix.reindexLinearEquiv_comp_apply
+-/
 
+#print Matrix.reindexLinearEquiv_one /-
 theorem reindexLinearEquiv_one [DecidableEq m] [DecidableEq m'] [One A] (e : m ≃ m') :
     reindexLinearEquiv R A e e (1 : Matrix m m A) = 1 :=
   submatrix_one_equiv e.symm
 #align matrix.reindex_linear_equiv_one Matrix.reindexLinearEquiv_one
+-/
 
 end AddCommMonoid
 
@@ -104,13 +118,16 @@ section Semiring
 
 variable [Semiring R] [Semiring A] [Module R A]
 
+#print Matrix.reindexLinearEquiv_mul /-
 theorem reindexLinearEquiv_mul [Fintype n] [Fintype n'] (eₘ : m ≃ m') (eₙ : n ≃ n') (eₒ : o ≃ o')
     (M : Matrix m n A) (N : Matrix n o A) :
     reindexLinearEquiv R A eₘ eₙ M ⬝ reindexLinearEquiv R A eₙ eₒ N =
       reindexLinearEquiv R A eₘ eₒ (M ⬝ N) :=
   submatrix_mul_equiv M N _ _ _
 #align matrix.reindex_linear_equiv_mul Matrix.reindexLinearEquiv_mul
+-/
 
+#print Matrix.mul_reindexLinearEquiv_one /-
 theorem mul_reindexLinearEquiv_one [Fintype n] [DecidableEq o] (e₁ : o ≃ n) (e₂ : o ≃ n')
     (M : Matrix m n A) :
     M.mul (reindexLinearEquiv R A e₁ e₂ 1) =
@@ -118,6 +135,7 @@ theorem mul_reindexLinearEquiv_one [Fintype n] [DecidableEq o] (e₁ : o ≃ n)
   haveI := Fintype.ofEquiv _ e₁.symm
   mul_submatrix_one _ _ _
 #align matrix.mul_reindex_linear_equiv_one Matrix.mul_reindexLinearEquiv_one
+-/
 
 end Semiring
 
@@ -125,6 +143,7 @@ section Algebra
 
 variable [CommSemiring R] [Fintype n] [Fintype m] [DecidableEq m] [DecidableEq n]
 
+#print Matrix.reindexAlgEquiv /-
 /-- For square matrices with coefficients in commutative semirings, the natural map that reindexes
 a matrix's rows and columns with equivalent types, `matrix.reindex`, is an equivalence of algebras.
 -/
@@ -134,30 +153,40 @@ def reindexAlgEquiv (e : m ≃ n) : Matrix m m R ≃ₐ[R] Matrix n n R :=
     map_mul' := fun a b => (reindexLinearEquiv_mul R R e e e a b).symm
     commutes' := fun r => by simp [algebraMap, Algebra.toRingHom, submatrix_smul] }
 #align matrix.reindex_alg_equiv Matrix.reindexAlgEquiv
+-/
 
+#print Matrix.reindexAlgEquiv_apply /-
 @[simp]
 theorem reindexAlgEquiv_apply (e : m ≃ n) (M : Matrix m m R) :
     reindexAlgEquiv R e M = reindex e e M :=
   rfl
 #align matrix.reindex_alg_equiv_apply Matrix.reindexAlgEquiv_apply
+-/
 
+#print Matrix.reindexAlgEquiv_symm /-
 @[simp]
 theorem reindexAlgEquiv_symm (e : m ≃ n) : (reindexAlgEquiv R e).symm = reindexAlgEquiv R e.symm :=
   rfl
 #align matrix.reindex_alg_equiv_symm Matrix.reindexAlgEquiv_symm
+-/
 
+#print Matrix.reindexAlgEquiv_refl /-
 @[simp]
 theorem reindexAlgEquiv_refl : reindexAlgEquiv R (Equiv.refl m) = AlgEquiv.refl :=
   AlgEquiv.ext fun _ => rfl
 #align matrix.reindex_alg_equiv_refl Matrix.reindexAlgEquiv_refl
+-/
 
+#print Matrix.reindexAlgEquiv_mul /-
 theorem reindexAlgEquiv_mul (e : m ≃ n) (M : Matrix m m R) (N : Matrix m m R) :
     reindexAlgEquiv R e (M ⬝ N) = reindexAlgEquiv R e M ⬝ reindexAlgEquiv R e N :=
   (reindexAlgEquiv R e).map_mul M N
 #align matrix.reindex_alg_equiv_mul Matrix.reindexAlgEquiv_mul
+-/
 
 end Algebra
 
+#print Matrix.det_reindexLinearEquiv_self /-
 /-- Reindexing both indices along the same equivalence preserves the determinant.
 
 For the `simp` version of this lemma, see `det_submatrix_equiv_self`.
@@ -166,7 +195,9 @@ theorem det_reindexLinearEquiv_self [CommRing R] [Fintype m] [DecidableEq m] [Fi
     [DecidableEq n] (e : m ≃ n) (M : Matrix m m R) : det (reindexLinearEquiv R R e e M) = det M :=
   det_reindex_self e M
 #align matrix.det_reindex_linear_equiv_self Matrix.det_reindexLinearEquiv_self
+-/
 
+#print Matrix.det_reindexAlgEquiv /-
 /-- Reindexing both indices along the same equivalence preserves the determinant.
 
 For the `simp` version of this lemma, see `det_submatrix_equiv_self`.
@@ -175,6 +206,7 @@ theorem det_reindexAlgEquiv [CommRing R] [Fintype m] [DecidableEq m] [Fintype n]
     (e : m ≃ n) (A : Matrix m m R) : det (reindexAlgEquiv R e A) = det A :=
   det_reindex_self e A
 #align matrix.det_reindex_alg_equiv Matrix.det_reindexAlgEquiv
+-/
 
 end Matrix
 
Diff
@@ -36,7 +36,7 @@ namespace Matrix
 
 open Equiv
 
-open Matrix
+open scoped Matrix
 
 variable {l m n o : Type _} {l' m' n' o' : Type _} {m'' n'' : Type _}
 
Diff
@@ -56,60 +56,36 @@ def reindexLinearEquiv (eₘ : m ≃ m') (eₙ : n ≃ n') : Matrix m n A ≃ₗ
 #align matrix.reindex_linear_equiv Matrix.reindexLinearEquiv
 -/
 
-/- warning: matrix.reindex_linear_equiv_apply -> Matrix.reindexLinearEquiv_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_apply Matrix.reindexLinearEquiv_applyₓ'. -/
 @[simp]
 theorem reindexLinearEquiv_apply (eₘ : m ≃ m') (eₙ : n ≃ n') (M : Matrix m n A) :
     reindexLinearEquiv R A eₘ eₙ M = reindex eₘ eₙ M :=
   rfl
 #align matrix.reindex_linear_equiv_apply Matrix.reindexLinearEquiv_apply
 
-/- warning: matrix.reindex_linear_equiv_symm -> Matrix.reindexLinearEquiv_symm is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {m' : Type.{u3}} {n' : Type.{u4}} (R : Type.{u5}) (A : Type.{u6}) [_inst_1 : Semiring.{u5} R] [_inst_2 : AddCommMonoid.{u6} A] [_inst_3 : Module.{u5, u6} R A _inst_1 _inst_2] (eₘ : Equiv.{succ u1, succ u3} m m') (eₙ : Equiv.{succ u2, succ u4} n n'), Eq.{max (succ (max u3 u4 u6)) (succ (max u1 u2 u6))} (LinearEquiv.{u5, u5, max u3 u4 u6, max u1 u2 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u3, u4, u6} m' n' A) (Matrix.{u1, u2, u6} m n A) (Matrix.addCommMonoid.{u6, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u6, u1, u2} m n A _inst_2) (Matrix.module.{u6, u3, u4, u5} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 _inst_2 _inst_3)) (LinearEquiv.symm.{u5, u5, max u1 u2 u6, max u3 u4 u6} R R (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u6, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u6, u3, u4} m' n' A _inst_2) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u6, u3, u4, u5} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.reindexLinearEquiv.{u1, u2, u3, u4, u5, u6} m n m' n' R A _inst_1 _inst_2 _inst_3 eₘ eₙ)) (Matrix.reindexLinearEquiv.{u3, u4, u1, u2, u5, u6} m' n' m n R A _inst_1 _inst_2 _inst_3 (Equiv.symm.{succ u1, succ u3} m m' eₘ) (Equiv.symm.{succ u2, succ u4} n n' eₙ))
-but is expected to have type
-  forall {m : Type.{u6}} {n : Type.{u4}} {m' : Type.{u5}} {n' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (eₘ : Equiv.{succ u6, succ u5} m m') (eₙ : Equiv.{succ u4, succ u3} n n'), Eq.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u5 u3) u2, max (max u6 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u3, u2} m' n' A) (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3)) (LinearEquiv.symm.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2} R R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.reindexLinearEquiv.{u6, u4, u5, u3, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 eₘ eₙ)) (Matrix.reindexLinearEquiv.{u5, u3, u6, u4, u1, u2} m' n' m n R A _inst_1 _inst_2 _inst_3 (Equiv.symm.{succ u6, succ u5} m m' eₘ) (Equiv.symm.{succ u4, succ u3} n n' eₙ))
-Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_symm Matrix.reindexLinearEquiv_symmₓ'. -/
 @[simp]
 theorem reindexLinearEquiv_symm (eₘ : m ≃ m') (eₙ : n ≃ n') :
     (reindexLinearEquiv R A eₘ eₙ).symm = reindexLinearEquiv R A eₘ.symm eₙ.symm :=
   rfl
 #align matrix.reindex_linear_equiv_symm Matrix.reindexLinearEquiv_symm
 
-/- warning: matrix.reindex_linear_equiv_refl_refl -> Matrix.reindexLinearEquiv_refl_refl is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) (A : Type.{u4}) [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u4} A] [_inst_3 : Module.{u3, u4} R A _inst_1 _inst_2], Eq.{succ (max u1 u2 u4)} (LinearEquiv.{u3, u3, max u1 u2 u4, max u1 u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Matrix.{u1, u2, u4} m n A) (Matrix.{u1, u2, u4} m n A) (Matrix.addCommMonoid.{u4, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u4, u1, u2} m n A _inst_2) (Matrix.module.{u4, u1, u2, u3} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u4, u1, u2, u3} m n R A _inst_1 _inst_2 _inst_3)) (Matrix.reindexLinearEquiv.{u1, u2, u1, u2, u3, u4} m n m n R A _inst_1 _inst_2 _inst_3 (Equiv.refl.{succ u1} m) (Equiv.refl.{succ u2} n)) (LinearEquiv.refl.{u3, max u1 u2 u4} R (Matrix.{u1, u2, u4} m n A) _inst_1 (Matrix.addCommMonoid.{u4, u1, u2} m n A _inst_2) (Matrix.module.{u4, u1, u2, u3} m n R A _inst_1 _inst_2 _inst_3))
-but is expected to have type
-  forall {m : Type.{u4}} {n : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2], Eq.{max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u3) u4, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u3, u2} m n A) (Matrix.{u4, u3, u2} m n A) (Matrix.addCommMonoid.{u2, u4, u3} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m n A _inst_2) (Matrix.module.{u2, u4, u3, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m n R A _inst_1 _inst_2 _inst_3)) (Matrix.reindexLinearEquiv.{u4, u3, u4, u3, u1, u2} m n m n R A _inst_1 _inst_2 _inst_3 (Equiv.refl.{succ u4} m) (Equiv.refl.{succ u3} n)) (LinearEquiv.refl.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m n A _inst_2) (Matrix.module.{u2, u4, u3, u1} m n R A _inst_1 _inst_2 _inst_3))
-Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_refl_refl Matrix.reindexLinearEquiv_refl_reflₓ'. -/
 @[simp]
 theorem reindexLinearEquiv_refl_refl :
     reindexLinearEquiv R A (Equiv.refl m) (Equiv.refl n) = LinearEquiv.refl R _ :=
   LinearEquiv.ext fun _ => rfl
 #align matrix.reindex_linear_equiv_refl_refl Matrix.reindexLinearEquiv_refl_refl
 
-/- warning: matrix.reindex_linear_equiv_trans -> Matrix.reindexLinearEquiv_trans is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_trans Matrix.reindexLinearEquiv_transₓ'. -/
 theorem reindexLinearEquiv_trans (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m' ≃ m'') (e₂' : n' ≃ n'') :
     (reindexLinearEquiv R A e₁ e₂).trans (reindexLinearEquiv R A e₁' e₂') =
       (reindexLinearEquiv R A (e₁.trans e₁') (e₂.trans e₂') : _ ≃ₗ[R] _) :=
   by ext; rfl
 #align matrix.reindex_linear_equiv_trans Matrix.reindexLinearEquiv_trans
 
-/- warning: matrix.reindex_linear_equiv_comp -> Matrix.reindexLinearEquiv_comp is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_comp Matrix.reindexLinearEquiv_compₓ'. -/
 theorem reindexLinearEquiv_comp (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m' ≃ m'') (e₂' : n' ≃ n'') :
     reindexLinearEquiv R A e₁' e₂' ∘ reindexLinearEquiv R A e₁ e₂ =
       reindexLinearEquiv R A (e₁.trans e₁') (e₂.trans e₂') :=
   by rw [← reindex_linear_equiv_trans]; rfl
 #align matrix.reindex_linear_equiv_comp Matrix.reindexLinearEquiv_comp
 
-/- warning: matrix.reindex_linear_equiv_comp_apply -> Matrix.reindexLinearEquiv_comp_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_comp_apply Matrix.reindexLinearEquiv_comp_applyₓ'. -/
 theorem reindexLinearEquiv_comp_apply (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m' ≃ m'') (e₂' : n' ≃ n'')
     (M : Matrix m n A) :
     (reindexLinearEquiv R A e₁' e₂') (reindexLinearEquiv R A e₁ e₂ M) =
@@ -117,9 +93,6 @@ theorem reindexLinearEquiv_comp_apply (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁'
   submatrix_submatrix _ _ _ _ _
 #align matrix.reindex_linear_equiv_comp_apply Matrix.reindexLinearEquiv_comp_apply
 
-/- warning: matrix.reindex_linear_equiv_one -> Matrix.reindexLinearEquiv_one is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_one Matrix.reindexLinearEquiv_oneₓ'. -/
 theorem reindexLinearEquiv_one [DecidableEq m] [DecidableEq m'] [One A] (e : m ≃ m') :
     reindexLinearEquiv R A e e (1 : Matrix m m A) = 1 :=
   submatrix_one_equiv e.symm
@@ -131,9 +104,6 @@ section Semiring
 
 variable [Semiring R] [Semiring A] [Module R A]
 
-/- warning: matrix.reindex_linear_equiv_mul -> Matrix.reindexLinearEquiv_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_mul Matrix.reindexLinearEquiv_mulₓ'. -/
 theorem reindexLinearEquiv_mul [Fintype n] [Fintype n'] (eₘ : m ≃ m') (eₙ : n ≃ n') (eₒ : o ≃ o')
     (M : Matrix m n A) (N : Matrix n o A) :
     reindexLinearEquiv R A eₘ eₙ M ⬝ reindexLinearEquiv R A eₙ eₒ N =
@@ -141,9 +111,6 @@ theorem reindexLinearEquiv_mul [Fintype n] [Fintype n'] (eₘ : m ≃ m') (eₙ
   submatrix_mul_equiv M N _ _ _
 #align matrix.reindex_linear_equiv_mul Matrix.reindexLinearEquiv_mul
 
-/- warning: matrix.mul_reindex_linear_equiv_one -> Matrix.mul_reindexLinearEquiv_one is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.mul_reindex_linear_equiv_one Matrix.mul_reindexLinearEquiv_oneₓ'. -/
 theorem mul_reindexLinearEquiv_one [Fintype n] [DecidableEq o] (e₁ : o ≃ n) (e₂ : o ≃ n')
     (M : Matrix m n A) :
     M.mul (reindexLinearEquiv R A e₁ e₂ 1) =
@@ -158,12 +125,6 @@ section Algebra
 
 variable [CommSemiring R] [Fintype n] [Fintype m] [DecidableEq m] [DecidableEq n]
 
-/- warning: matrix.reindex_alg_equiv -> Matrix.reindexAlgEquiv is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : DecidableEq.{succ u1} m] [_inst_5 : DecidableEq.{succ u2} n], (Equiv.{succ u1, succ u2} m n) -> (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)))
-but is expected to have type
-  forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : DecidableEq.{succ u1} m] [_inst_5 : DecidableEq.{succ u2} n], (Equiv.{succ u1, succ u2} m n) -> (AlgEquiv.{u3, max u3 u1, max u3 u2} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)))
-Case conversion may be inaccurate. Consider using '#align matrix.reindex_alg_equiv Matrix.reindexAlgEquivₓ'. -/
 /-- For square matrices with coefficients in commutative semirings, the natural map that reindexes
 a matrix's rows and columns with equivalent types, `matrix.reindex`, is an equivalence of algebras.
 -/
@@ -174,40 +135,22 @@ def reindexAlgEquiv (e : m ≃ n) : Matrix m m R ≃ₐ[R] Matrix n n R :=
     commutes' := fun r => by simp [algebraMap, Algebra.toRingHom, submatrix_smul] }
 #align matrix.reindex_alg_equiv Matrix.reindexAlgEquiv
 
-/- warning: matrix.reindex_alg_equiv_apply -> Matrix.reindexAlgEquiv_apply is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.reindex_alg_equiv_apply Matrix.reindexAlgEquiv_applyₓ'. -/
 @[simp]
 theorem reindexAlgEquiv_apply (e : m ≃ n) (M : Matrix m m R) :
     reindexAlgEquiv R e M = reindex e e M :=
   rfl
 #align matrix.reindex_alg_equiv_apply Matrix.reindexAlgEquiv_apply
 
-/- warning: matrix.reindex_alg_equiv_symm -> Matrix.reindexAlgEquiv_symm is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : DecidableEq.{succ u1} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n), Eq.{max (succ (max u2 u3)) (succ (max u1 u3))} (AlgEquiv.{u3, max u2 u3, max u1 u3} R (Matrix.{u2, u2, u3} n n R) (Matrix.{u1, u1, u3} m m R) _inst_1 (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (AlgEquiv.symm.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e)) (Matrix.reindexAlgEquiv.{u2, u1, u3} n m R _inst_1 _inst_3 _inst_2 (fun (a : n) (b : n) => _inst_5 a b) (fun (a : m) (b : m) => _inst_4 a b) (Equiv.symm.{succ u1, succ u2} m n e))
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : DecidableEq.{succ u3} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u3, succ u2} m n), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (AlgEquiv.{u1, max u2 u1, max u3 u1} R (Matrix.{u2, u2, u1} n n R) (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.symm.{u1, max u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e)) (Matrix.reindexAlgEquiv.{u2, u3, u1} n m R _inst_1 _inst_3 _inst_2 (fun (a : n) (b : n) => _inst_5 a b) (fun (a : m) (b : m) => _inst_4 a b) (Equiv.symm.{succ u3, succ u2} m n e))
-Case conversion may be inaccurate. Consider using '#align matrix.reindex_alg_equiv_symm Matrix.reindexAlgEquiv_symmₓ'. -/
 @[simp]
 theorem reindexAlgEquiv_symm (e : m ≃ n) : (reindexAlgEquiv R e).symm = reindexAlgEquiv R e.symm :=
   rfl
 #align matrix.reindex_alg_equiv_symm Matrix.reindexAlgEquiv_symm
 
-/- warning: matrix.reindex_alg_equiv_refl -> Matrix.reindexAlgEquiv_refl is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} (R : Type.{u2}) [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Fintype.{u1} m] [_inst_4 : DecidableEq.{succ u1} m], Eq.{succ (max u1 u2)} (AlgEquiv.{u2, max u1 u2, max u1 u2} R (Matrix.{u1, u1, u2} m m R) (Matrix.{u1, u1, u2} m m R) _inst_1 (Matrix.semiring.{u2, u1} m R (CommSemiring.toSemiring.{u2} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u2, u1} m R (CommSemiring.toSemiring.{u2} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.algebra.{u2, u1, u2} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.id.{u2} R _inst_1)) (Matrix.algebra.{u2, u1, u2} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.id.{u2} R _inst_1))) (Matrix.reindexAlgEquiv.{u1, u1, u2} m m R _inst_1 _inst_3 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : m) (b : m) => _inst_4 a b) (Equiv.refl.{succ u1} m)) (AlgEquiv.refl.{u2, max u1 u2} R (Matrix.{u1, u1, u2} m m R) _inst_1 (Matrix.semiring.{u2, u1} m R (CommSemiring.toSemiring.{u2} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.algebra.{u2, u1, u2} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.id.{u2} R _inst_1)))
-but is expected to have type
-  forall {m : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Fintype.{u2} m] [_inst_4 : DecidableEq.{succ u2} m], Eq.{max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u2, max u1 u2} R (Matrix.{u2, u2, u1} m m R) (Matrix.{u2, u2, u1} m m R) _inst_1 (Matrix.semiring.{u1, u2} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.reindexAlgEquiv.{u2, u2, u1} m m R _inst_1 _inst_3 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : m) (b : m) => _inst_4 a b) (Equiv.refl.{succ u2} m)) (AlgEquiv.refl.{u1, max u2 u1} R (Matrix.{u2, u2, u1} m m R) _inst_1 (Matrix.semiring.{u1, u2} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} m R R _inst_3 (fun (a : m) (b : m) => _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.reindex_alg_equiv_refl Matrix.reindexAlgEquiv_reflₓ'. -/
 @[simp]
 theorem reindexAlgEquiv_refl : reindexAlgEquiv R (Equiv.refl m) = AlgEquiv.refl :=
   AlgEquiv.ext fun _ => rfl
 #align matrix.reindex_alg_equiv_refl Matrix.reindexAlgEquiv_refl
 
-/- warning: matrix.reindex_alg_equiv_mul -> Matrix.reindexAlgEquiv_mul is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.reindex_alg_equiv_mul Matrix.reindexAlgEquiv_mulₓ'. -/
 theorem reindexAlgEquiv_mul (e : m ≃ n) (M : Matrix m m R) (N : Matrix m m R) :
     reindexAlgEquiv R e (M ⬝ N) = reindexAlgEquiv R e M ⬝ reindexAlgEquiv R e N :=
   (reindexAlgEquiv R e).map_mul M N
@@ -215,9 +158,6 @@ theorem reindexAlgEquiv_mul (e : m ≃ n) (M : Matrix m m R) (N : Matrix m m R)
 
 end Algebra
 
-/- warning: matrix.det_reindex_linear_equiv_self -> Matrix.det_reindexLinearEquiv_self is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.det_reindex_linear_equiv_self Matrix.det_reindexLinearEquiv_selfₓ'. -/
 /-- Reindexing both indices along the same equivalence preserves the determinant.
 
 For the `simp` version of this lemma, see `det_submatrix_equiv_self`.
@@ -227,9 +167,6 @@ theorem det_reindexLinearEquiv_self [CommRing R] [Fintype m] [DecidableEq m] [Fi
   det_reindex_self e M
 #align matrix.det_reindex_linear_equiv_self Matrix.det_reindexLinearEquiv_self
 
-/- warning: matrix.det_reindex_alg_equiv -> Matrix.det_reindexAlgEquiv is a dubious translation:
-<too large>
-Case conversion may be inaccurate. Consider using '#align matrix.det_reindex_alg_equiv Matrix.det_reindexAlgEquivₓ'. -/
 /-- Reindexing both indices along the same equivalence preserves the determinant.
 
 For the `simp` version of this lemma, see `det_submatrix_equiv_self`.
Diff
@@ -95,9 +95,7 @@ Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_
 theorem reindexLinearEquiv_trans (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m' ≃ m'') (e₂' : n' ≃ n'') :
     (reindexLinearEquiv R A e₁ e₂).trans (reindexLinearEquiv R A e₁' e₂') =
       (reindexLinearEquiv R A (e₁.trans e₁') (e₂.trans e₂') : _ ≃ₗ[R] _) :=
-  by
-  ext
-  rfl
+  by ext; rfl
 #align matrix.reindex_linear_equiv_trans Matrix.reindexLinearEquiv_trans
 
 /- warning: matrix.reindex_linear_equiv_comp -> Matrix.reindexLinearEquiv_comp is a dubious translation:
@@ -106,9 +104,7 @@ Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_
 theorem reindexLinearEquiv_comp (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m' ≃ m'') (e₂' : n' ≃ n'') :
     reindexLinearEquiv R A e₁' e₂' ∘ reindexLinearEquiv R A e₁ e₂ =
       reindexLinearEquiv R A (e₁.trans e₁') (e₂.trans e₂') :=
-  by
-  rw [← reindex_linear_equiv_trans]
-  rfl
+  by rw [← reindex_linear_equiv_trans]; rfl
 #align matrix.reindex_linear_equiv_comp Matrix.reindexLinearEquiv_comp
 
 /- warning: matrix.reindex_linear_equiv_comp_apply -> Matrix.reindexLinearEquiv_comp_apply is a dubious translation:
Diff
@@ -57,10 +57,7 @@ def reindexLinearEquiv (eₘ : m ≃ m') (eₙ : n ≃ n') : Matrix m n A ≃ₗ
 -/
 
 /- warning: matrix.reindex_linear_equiv_apply -> Matrix.reindexLinearEquiv_apply is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {m' : Type.{u3}} {n' : Type.{u4}} (R : Type.{u5}) (A : Type.{u6}) [_inst_1 : Semiring.{u5} R] [_inst_2 : AddCommMonoid.{u6} A] [_inst_3 : Module.{u5, u6} R A _inst_1 _inst_2] (eₘ : Equiv.{succ u1, succ u3} m m') (eₙ : Equiv.{succ u2, succ u4} n n') (M : Matrix.{u1, u2, u6} m n A), Eq.{succ (max u3 u4 u6)} (Matrix.{u3, u4, u6} m' n' A) (coeFn.{max (succ (max u1 u2 u6)) (succ (max u3 u4 u6)), max (succ (max u1 u2 u6)) (succ (max u3 u4 u6))} (LinearEquiv.{u5, u5, max u1 u2 u6, max u3 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A) (Matrix.addCommMonoid.{u6, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u6, u3, u4} m' n' A _inst_2) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u6, u3, u4, u5} m' n' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u5, u5, max u1 u2 u6, max u3 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A) (Matrix.addCommMonoid.{u6, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u6, u3, u4} m' n' A _inst_2) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u6, u3, u4, u5} m' n' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u2, u6} m n A) -> (Matrix.{u3, u4, u6} m' n' A)) (LinearEquiv.hasCoeToFun.{u5, u5, max u1 u2 u6, max u3 u4 u6} R R (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u6, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u6, u3, u4} m' n' A _inst_2) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u6, u3, u4, u5} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u3, u4, u5, u6} m n m' n' R A _inst_1 _inst_2 _inst_3 eₘ eₙ) M) (coeFn.{max 1 (max (succ (max u1 u2 u6)) (succ (max u3 u4 u6))) (succ (max u3 u4 u6)) (succ (max u1 u2 u6)), max (succ (max u1 u2 u6)) (succ (max u3 u4 u6))} (Equiv.{succ (max u1 u2 u6), succ (max u3 u4 u6)} (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A)) (fun (_x : Equiv.{succ (max u1 u2 u6), succ (max u3 u4 u6)} (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A)) => (Matrix.{u1, u2, u6} m n A) -> (Matrix.{u3, u4, u6} m' n' A)) (Equiv.hasCoeToFun.{succ (max u1 u2 u6), succ (max u3 u4 u6)} (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A)) (Matrix.reindex.{u6, u3, u1, u2, u4} m' m n n' A eₘ eₙ) M)
-but is expected to have type
-  forall {m : Type.{u6}} {n : Type.{u4}} {m' : Type.{u5}} {n' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (eₘ : Equiv.{succ u6, succ u5} m m') (eₙ : Equiv.{succ u4, succ u3} n n') (M : Matrix.{u6, u4, u2} m n A), Eq.{max (max (succ u5) (succ u3)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) M) (FunLike.coe.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2), max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u6, u4, u2} m n A) (fun (_x : Matrix.{u6, u4, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (AddMonoid.toZero.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (AddMonoid.toZero.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2} R R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u6, u4, u5, u3, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 eₘ eₙ) M) (FunLike.coe.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2), max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (Equiv.{max (max (succ u2) (succ u4)) (succ u6), max (max (succ u2) (succ u3)) (succ u5)} (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A)) (Matrix.{u6, u4, u2} m n A) (fun (_x : Matrix.{u6, u4, u2} m n A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) _x) (Equiv.instFunLikeEquiv.{max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A)) (Matrix.reindex.{u2, u5, u6, u4, u3} m' m n n' A eₘ eₙ) M)
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_apply Matrix.reindexLinearEquiv_applyₓ'. -/
 @[simp]
 theorem reindexLinearEquiv_apply (eₘ : m ≃ m') (eₙ : n ≃ n') (M : Matrix m n A) :
@@ -93,10 +90,7 @@ theorem reindexLinearEquiv_refl_refl :
 #align matrix.reindex_linear_equiv_refl_refl Matrix.reindexLinearEquiv_refl_refl
 
 /- warning: matrix.reindex_linear_equiv_trans -> Matrix.reindexLinearEquiv_trans is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {m' : Type.{u3}} {n' : Type.{u4}} {m'' : Type.{u5}} {n'' : Type.{u6}} (R : Type.{u7}) (A : Type.{u8}) [_inst_1 : Semiring.{u7} R] [_inst_2 : AddCommMonoid.{u8} A] [_inst_3 : Module.{u7, u8} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u1, succ u3} m m') (e₂ : Equiv.{succ u2, succ u4} n n') (e₁' : Equiv.{succ u3, succ u5} m' m'') (e₂' : Equiv.{succ u4, succ u6} n' n''), Eq.{max (succ (max u1 u2 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) (LinearEquiv.trans.{u7, u7, u7, max u1 u2 u8, max u3 u4 u8, max u5 u6 u8} R R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) _inst_1 _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomCompTriple.right_ids.{u7, u7} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1))) (RingHomCompTriple.right_ids.{u7, u7} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1))) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.reindexLinearEquiv.{u1, u2, u3, u4, u7, u8} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂) (Matrix.reindexLinearEquiv.{u3, u4, u5, u6, u7, u8} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂')) (Matrix.reindexLinearEquiv.{u1, u2, u5, u6, u7, u8} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u1, succ u3, succ u5} m m' m'' e₁ e₁') (Equiv.trans.{succ u2, succ u4, succ u6} n n' n'' e₂ e₂'))
-but is expected to have type
-  forall {m : Type.{u8}} {n : Type.{u6}} {m' : Type.{u7}} {n' : Type.{u5}} {m'' : Type.{u4}} {n'' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u8, succ u7} m m') (e₂ : Equiv.{succ u6, succ u5} n n') (e₁' : Equiv.{succ u7, succ u4} m' m'') (e₂' : Equiv.{succ u5, succ u3} n' n''), Eq.{max (max (max (max (succ u8) (succ u6)) (succ u4)) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (LinearEquiv.trans.{u1, u1, u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max u2 u3) u4} R R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomCompTriple.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomCompTriple.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.reindexLinearEquiv.{u8, u6, u7, u5, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂) (Matrix.reindexLinearEquiv.{u7, u5, u4, u3, u1, u2} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂')) (Matrix.reindexLinearEquiv.{u8, u6, u4, u3, u1, u2} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u8, succ u7, succ u4} m m' m'' e₁ e₁') (Equiv.trans.{succ u6, succ u5, succ u3} n n' n'' e₂ e₂'))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_trans Matrix.reindexLinearEquiv_transₓ'. -/
 theorem reindexLinearEquiv_trans (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m' ≃ m'') (e₂' : n' ≃ n'') :
     (reindexLinearEquiv R A e₁ e₂).trans (reindexLinearEquiv R A e₁' e₂') =
@@ -107,10 +101,7 @@ theorem reindexLinearEquiv_trans (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m'
 #align matrix.reindex_linear_equiv_trans Matrix.reindexLinearEquiv_trans
 
 /- warning: matrix.reindex_linear_equiv_comp -> Matrix.reindexLinearEquiv_comp is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {m' : Type.{u3}} {n' : Type.{u4}} {m'' : Type.{u5}} {n'' : Type.{u6}} (R : Type.{u7}) (A : Type.{u8}) [_inst_1 : Semiring.{u7} R] [_inst_2 : AddCommMonoid.{u8} A] [_inst_3 : Module.{u7, u8} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u1, succ u3} m m') (e₂ : Equiv.{succ u2, succ u4} n n') (e₁' : Equiv.{succ u3, succ u5} m' m'') (e₂' : Equiv.{succ u4, succ u6} n' n''), Eq.{max (succ (max u1 u2 u8)) (succ (max u5 u6 u8))} ((Matrix.{u1, u2, u8} m n A) -> (Matrix.{u5, u6, u8} m'' n'' A)) (Function.comp.{succ (max u1 u2 u8), succ (max u3 u4 u8), succ (max u5 u6 u8)} (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) (coeFn.{max (succ (max u3 u4 u8)) (succ (max u5 u6 u8)), max (succ (max u3 u4 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u3, u4, u8} m' n' A) -> (Matrix.{u5, u6, u8} m'' n'' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u3, u4, u5, u6, u7, u8} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂')) (coeFn.{max (succ (max u1 u2 u8)) (succ (max u3 u4 u8)), max (succ (max u1 u2 u8)) (succ (max u3 u4 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u2, u8} m n A) -> (Matrix.{u3, u4, u8} m' n' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u3, u4, u7, u8} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂))) (coeFn.{max (succ (max u1 u2 u8)) (succ (max u5 u6 u8)), max (succ (max u1 u2 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u2, u8} m n A) -> (Matrix.{u5, u6, u8} m'' n'' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u5, u6, u7, u8} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u1, succ u3, succ u5} m m' m'' e₁ e₁') (Equiv.trans.{succ u2, succ u4, succ u6} n n' n'' e₂ e₂')))
-but is expected to have type
-  forall {m : Type.{u8}} {n : Type.{u6}} {m' : Type.{u7}} {n' : Type.{u5}} {m'' : Type.{u4}} {n'' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u8, succ u7} m m') (e₂ : Equiv.{succ u6, succ u5} n n') (e₁' : Equiv.{succ u7, succ u4} m' m'') (e₂' : Equiv.{succ u5, succ u3} n' n''), Eq.{max (max (max (max (succ u8) (succ u6)) (succ u4)) (succ u3)) (succ u2)} ((Matrix.{u8, u6, u2} m n A) -> (Matrix.{u4, u3, u2} m'' n'' A)) (Function.comp.{max (max (succ u8) (succ u6)) (succ u2), max (max (succ u7) (succ u5)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (FunLike.coe.{max (max (max (max (succ u7) (succ u5)) (succ u4)) (succ u3)) (succ u2), max (max (succ u7) (succ u5)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u7, u5, u2} m' n' A) (fun (_x : Matrix.{u7, u5, u2} m' n' A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u7, u5, u2} m' n' A) => Matrix.{u4, u3, u2} m'' n'' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u7 u5) u4) u3) u2, u1, max (max u7 u5) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toZero.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toAddZeroClass.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u7 u5) u4) u3) u2, u1, max (max u7 u5) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u7 u5) u2, max (max u4 u3) u2, max (max (max (max u7 u5) u4) u3) u2} R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u7 u5) u2, max (max u4 u3) u2, max (max (max (max u7 u5) u4) u3) u2} R R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u7 u5) u2, max (max u4 u3) u2} R R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u7, u5, u4, u3, u1, u2} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂')) (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u7)) (succ u5)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u7) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (_x : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u8, u6, u2} m n A) => Matrix.{u7, u5, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u7, u5, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂))) (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u4)) (succ u3)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (_x : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u8, u6, u2} m n A) => Matrix.{u4, u3, u2} m'' n'' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u4) u3) u2, u1, max (max u8 u6) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toZero.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toAddZeroClass.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u4) u3) u2, u1, max (max u8 u6) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u4 u3) u2, max (max (max (max u8 u6) u4) u3) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u4 u3) u2, max (max (max (max u8 u6) u4) u3) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u4 u3) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u4, u3, u1, u2} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u8, succ u7, succ u4} m m' m'' e₁ e₁') (Equiv.trans.{succ u6, succ u5, succ u3} n n' n'' e₂ e₂')))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_comp Matrix.reindexLinearEquiv_compₓ'. -/
 theorem reindexLinearEquiv_comp (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m' ≃ m'') (e₂' : n' ≃ n'') :
     reindexLinearEquiv R A e₁' e₂' ∘ reindexLinearEquiv R A e₁ e₂ =
@@ -121,10 +112,7 @@ theorem reindexLinearEquiv_comp (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m'
 #align matrix.reindex_linear_equiv_comp Matrix.reindexLinearEquiv_comp
 
 /- warning: matrix.reindex_linear_equiv_comp_apply -> Matrix.reindexLinearEquiv_comp_apply is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {m' : Type.{u3}} {n' : Type.{u4}} {m'' : Type.{u5}} {n'' : Type.{u6}} (R : Type.{u7}) (A : Type.{u8}) [_inst_1 : Semiring.{u7} R] [_inst_2 : AddCommMonoid.{u8} A] [_inst_3 : Module.{u7, u8} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u1, succ u3} m m') (e₂ : Equiv.{succ u2, succ u4} n n') (e₁' : Equiv.{succ u3, succ u5} m' m'') (e₂' : Equiv.{succ u4, succ u6} n' n'') (M : Matrix.{u1, u2, u8} m n A), Eq.{succ (max u5 u6 u8)} (Matrix.{u5, u6, u8} m'' n'' A) (coeFn.{max (succ (max u3 u4 u8)) (succ (max u5 u6 u8)), max (succ (max u3 u4 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u3, u4, u8} m' n' A) -> (Matrix.{u5, u6, u8} m'' n'' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u3, u4, u5, u6, u7, u8} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂') (coeFn.{max (succ (max u1 u2 u8)) (succ (max u3 u4 u8)), max (succ (max u1 u2 u8)) (succ (max u3 u4 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u2, u8} m n A) -> (Matrix.{u3, u4, u8} m' n' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u3, u4, u7, u8} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂) M)) (coeFn.{max (succ (max u1 u2 u8)) (succ (max u5 u6 u8)), max (succ (max u1 u2 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u2, u8} m n A) -> (Matrix.{u5, u6, u8} m'' n'' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u5, u6, u7, u8} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u1, succ u3, succ u5} m m' m'' e₁ e₁') (Equiv.trans.{succ u2, succ u4, succ u6} n n' n'' e₂ e₂')) M)
-but is expected to have type
-  forall {m : Type.{u8}} {n : Type.{u6}} {m' : Type.{u7}} {n' : Type.{u5}} {m'' : Type.{u4}} {n'' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u8, succ u7} m m') (e₂ : Equiv.{succ u6, succ u5} n n') (e₁' : Equiv.{succ u7, succ u4} m' m'') (e₂' : Equiv.{succ u5, succ u3} n' n'') (M : Matrix.{u8, u6, u2} m n A), Eq.{max (max (succ u4) (succ u3)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u7, u5, u2} m' n' A) => Matrix.{u4, u3, u2} m'' n'' A) (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u7)) (succ u5)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u7) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (a : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u8, u6, u2} m n A) => Matrix.{u7, u5, u2} m' n' A) a) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u7, u5, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂) M)) (FunLike.coe.{max (max (max (max (succ u7) (succ u5)) (succ u4)) (succ u3)) (succ u2), max (max (succ u7) (succ u5)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u7, u5, u2} m' n' A) (fun (_x : Matrix.{u7, u5, u2} m' n' A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u7, u5, u2} m' n' A) => Matrix.{u4, u3, u2} m'' n'' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u7 u5) u4) u3) u2, u1, max (max u7 u5) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toZero.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toAddZeroClass.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u7 u5) u4) u3) u2, u1, max (max u7 u5) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u7 u5) u2, max (max u4 u3) u2, max (max (max (max u7 u5) u4) u3) u2} R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u7 u5) u2, max (max u4 u3) u2, max (max (max (max u7 u5) u4) u3) u2} R R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u7 u5) u2, max (max u4 u3) u2} R R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u7, u5, u4, u3, u1, u2} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂') (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u7)) (succ u5)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u7) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (_x : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u8, u6, u2} m n A) => Matrix.{u7, u5, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u7, u5, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂) M)) (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u4)) (succ u3)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (_x : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u8, u6, u2} m n A) => Matrix.{u4, u3, u2} m'' n'' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u4) u3) u2, u1, max (max u8 u6) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toZero.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toAddZeroClass.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u4) u3) u2, u1, max (max u8 u6) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u4 u3) u2, max (max (max (max u8 u6) u4) u3) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u4 u3) u2, max (max (max (max u8 u6) u4) u3) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u4 u3) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u4, u3, u1, u2} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u8, succ u7, succ u4} m m' m'' e₁ e₁') (Equiv.trans.{succ u6, succ u5, succ u3} n n' n'' e₂ e₂')) M)
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_comp_apply Matrix.reindexLinearEquiv_comp_applyₓ'. -/
 theorem reindexLinearEquiv_comp_apply (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m' ≃ m'') (e₂' : n' ≃ n'')
     (M : Matrix m n A) :
@@ -134,10 +122,7 @@ theorem reindexLinearEquiv_comp_apply (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁'
 #align matrix.reindex_linear_equiv_comp_apply Matrix.reindexLinearEquiv_comp_apply
 
 /- warning: matrix.reindex_linear_equiv_one -> Matrix.reindexLinearEquiv_one is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {m' : Type.{u2}} (R : Type.{u3}) (A : Type.{u4}) [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u4} A] [_inst_3 : Module.{u3, u4} R A _inst_1 _inst_2] [_inst_4 : DecidableEq.{succ u1} m] [_inst_5 : DecidableEq.{succ u2} m'] [_inst_6 : One.{u4} A] (e : Equiv.{succ u1, succ u2} m m'), Eq.{succ (max u2 u4)} (Matrix.{u2, u2, u4} m' m' A) (coeFn.{max (succ (max u1 u4)) (succ (max u2 u4)), max (succ (max u1 u4)) (succ (max u2 u4))} (LinearEquiv.{u3, u3, max u1 u4, max u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Matrix.{u1, u1, u4} m m A) (Matrix.{u2, u2, u4} m' m' A) (Matrix.addCommMonoid.{u4, u1, u1} m m A _inst_2) (Matrix.addCommMonoid.{u4, u2, u2} m' m' A _inst_2) (Matrix.module.{u4, u1, u1, u3} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u4, u2, u2, u3} m' m' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u3, u3, max u1 u4, max u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Matrix.{u1, u1, u4} m m A) (Matrix.{u2, u2, u4} m' m' A) (Matrix.addCommMonoid.{u4, u1, u1} m m A _inst_2) (Matrix.addCommMonoid.{u4, u2, u2} m' m' A _inst_2) (Matrix.module.{u4, u1, u1, u3} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u4, u2, u2, u3} m' m' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u1, u4} m m A) -> (Matrix.{u2, u2, u4} m' m' A)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u4, max u2 u4} R R (Matrix.{u1, u1, u4} m m A) (Matrix.{u2, u2, u4} m' m' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u4, u1, u1} m m A _inst_2) (Matrix.addCommMonoid.{u4, u2, u2} m' m' A _inst_2) (Matrix.module.{u4, u1, u1, u3} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u4, u2, u2, u3} m' m' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u1, u2, u2, u3, u4} m m m' m' R A _inst_1 _inst_2 _inst_3 e e) (OfNat.ofNat.{max u1 u4} (Matrix.{u1, u1, u4} m m A) 1 (OfNat.mk.{max u1 u4} (Matrix.{u1, u1, u4} m m A) 1 (One.one.{max u1 u4} (Matrix.{u1, u1, u4} m m A) (Matrix.hasOne.{u4, u1} m A (fun (a : m) (b : m) => _inst_4 a b) (AddZeroClass.toHasZero.{u4} A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A _inst_2))) _inst_6))))) (OfNat.ofNat.{max u2 u4} (Matrix.{u2, u2, u4} m' m' A) 1 (OfNat.mk.{max u2 u4} (Matrix.{u2, u2, u4} m' m' A) 1 (One.one.{max u2 u4} (Matrix.{u2, u2, u4} m' m' A) (Matrix.hasOne.{u4, u2} m' A (fun (a : m') (b : m') => _inst_5 a b) (AddZeroClass.toHasZero.{u4} A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A _inst_2))) _inst_6))))
-but is expected to have type
-  forall {m : Type.{u4}} {m' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : DecidableEq.{succ u4} m] [_inst_5 : DecidableEq.{succ u3} m'] [_inst_6 : One.{u2} A] (e : Equiv.{succ u4, succ u3} m m'), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u4, u4, u2} m m A) => Matrix.{u3, u3, u2} m' m' A) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} m m A) 1 (One.toOfNat1.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.one.{u2, u4} m A (fun (a : m) (b : m) => _inst_4 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), max (succ u4) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u4, u4, u2} m m A) (fun (_x : Matrix.{u4, u4, u2} m m A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u4, u4, u2} m m A) => Matrix.{u3, u3, u2} m' m' A) _x) (SMulHomClass.toFunLike.{max (max u4 u3) u2, u1, max u4 u2, max u3 u2} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (SMulZeroClass.toSMul.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) (AddMonoid.toZero.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (AddCommMonoid.toAddMonoid.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) (AddMonoid.toAddZeroClass.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (AddCommMonoid.toAddMonoid.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2)) (Module.toDistribMulAction.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2)) (Module.toDistribMulAction.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u3) u2, u1, max u4 u2, max u3 u2} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2)) (Module.toDistribMulAction.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u4 u2, max u3 u2, max (max u4 u3) u2} R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u4 u2, max u3 u2, max (max u4 u3) u2} R R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u4 u2, max u3 u2} R R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u4, u4, u3, u3, u1, u2} m m m' m' R A _inst_1 _inst_2 _inst_3 e e) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} m m A) 1 (One.toOfNat1.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.one.{u2, u4} m A (fun (a : m) (b : m) => _inst_4 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))) (OfNat.ofNat.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u4, u4, u2} m m A) => Matrix.{u3, u3, u2} m' m' A) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} m m A) 1 (One.toOfNat1.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.one.{u2, u4} m A (fun (a : m) (b : m) => _inst_4 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))) 1 (One.toOfNat1.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u4, u4, u2} m m A) => Matrix.{u3, u3, u2} m' m' A) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} m m A) 1 (One.toOfNat1.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.one.{u2, u4} m A (fun (a : m) (b : m) => _inst_4 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))) (Matrix.one.{u2, u3} m' A (fun (a : m') (b : m') => _inst_5 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_one Matrix.reindexLinearEquiv_oneₓ'. -/
 theorem reindexLinearEquiv_one [DecidableEq m] [DecidableEq m'] [One A] (e : m ≃ m') :
     reindexLinearEquiv R A e e (1 : Matrix m m A) = 1 :=
@@ -151,10 +136,7 @@ section Semiring
 variable [Semiring R] [Semiring A] [Module R A]
 
 /- warning: matrix.reindex_linear_equiv_mul -> Matrix.reindexLinearEquiv_mul is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {o : Type.{u3}} {m' : Type.{u4}} {n' : Type.{u5}} {o' : Type.{u6}} (R : Type.{u7}) (A : Type.{u8}) [_inst_1 : Semiring.{u7} R] [_inst_2 : Semiring.{u8} A] [_inst_3 : Module.{u7, u8} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))] [_inst_4 : Fintype.{u2} n] [_inst_5 : Fintype.{u5} n'] (eₘ : Equiv.{succ u1, succ u4} m m') (eₙ : Equiv.{succ u2, succ u5} n n') (eₒ : Equiv.{succ u3, succ u6} o o') (M : Matrix.{u1, u2, u8} m n A) (N : Matrix.{u2, u3, u8} n o A), Eq.{succ (max u4 u6 u8)} (Matrix.{u4, u6, u8} m' o' A) (Matrix.mul.{u8, u4, u5, u6} m' n' o' A _inst_5 (Distrib.toHasMul.{u8} A (NonUnitalNonAssocSemiring.toDistrib.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) (coeFn.{max (succ (max u1 u2 u8)) (succ (max u4 u5 u8)), max (succ (max u1 u2 u8)) (succ (max u4 u5 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u4 u5 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u4, u5, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u5} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u5, u7} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u2 u8, max u4 u5 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u4, u5, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u5} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u5, u7} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) => (Matrix.{u1, u2, u8} m n A) -> (Matrix.{u4, u5, u8} m' n' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u2 u8, max u4 u5 u8} R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u4, u5, u8} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u5} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u5, u7} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u4, u5, u7, u8} m n m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3 eₘ eₙ) M) (coeFn.{max (succ (max u2 u3 u8)) (succ (max u5 u6 u8)), max (succ (max u2 u3 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u2 u3 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u2, u3, u8} n o A) (Matrix.{u5, u6, u8} n' o' A) (Matrix.addCommMonoid.{u8, u2, u3} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u5, u6} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u2, u3, u7} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u5, u6, u7} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u2 u3 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u2, u3, u8} n o A) (Matrix.{u5, u6, u8} n' o' A) (Matrix.addCommMonoid.{u8, u2, u3} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u5, u6} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u2, u3, u7} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u5, u6, u7} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) => (Matrix.{u2, u3, u8} n o A) -> (Matrix.{u5, u6, u8} n' o' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u2 u3 u8, max u5 u6 u8} R R (Matrix.{u2, u3, u8} n o A) (Matrix.{u5, u6, u8} n' o' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u2, u3} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u5, u6} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u2, u3, u7} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u5, u6, u7} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u2, u3, u5, u6, u7, u8} n o n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3 eₙ eₒ) N)) (coeFn.{max (succ (max u1 u3 u8)) (succ (max u4 u6 u8)), max (succ (max u1 u3 u8)) (succ (max u4 u6 u8))} (LinearEquiv.{u7, u7, max u1 u3 u8, max u4 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u3, u8} m o A) (Matrix.{u4, u6, u8} m' o' A) (Matrix.addCommMonoid.{u8, u1, u3} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u6} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u3, u7} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u6, u7} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u3 u8, max u4 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u3, u8} m o A) (Matrix.{u4, u6, u8} m' o' A) (Matrix.addCommMonoid.{u8, u1, u3} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u6} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u3, u7} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u6, u7} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) => (Matrix.{u1, u3, u8} m o A) -> (Matrix.{u4, u6, u8} m' o' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u3 u8, max u4 u6 u8} R R (Matrix.{u1, u3, u8} m o A) (Matrix.{u4, u6, u8} m' o' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u3} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u6} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u3, u7} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u6, u7} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u3, u4, u6, u7, u8} m o m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3 eₘ eₒ) (Matrix.mul.{u8, u1, u2, u3} m n o A _inst_4 (Distrib.toHasMul.{u8} A (NonUnitalNonAssocSemiring.toDistrib.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) M N))
-but is expected to have type
-  forall {m : Type.{u6}} {n : Type.{u8}} {o : Type.{u4}} {m' : Type.{u5}} {n' : Type.{u7}} {o' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))] [_inst_4 : Fintype.{u8} n] [_inst_5 : Fintype.{u7} n'] (eₘ : Equiv.{succ u6, succ u5} m m') (eₙ : Equiv.{succ u8, succ u7} n n') (eₒ : Equiv.{succ u4, succ u3} o o') (M : Matrix.{u6, u8, u2} m n A) (N : Matrix.{u8, u4, u2} n o A), Eq.{max (max (succ u5) (succ u3)) (succ u2)} (Matrix.{u5, u3, u2} m' o' A) (Matrix.mul.{u2, u5, u7, u3} m' n' o' A _inst_5 (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (FunLike.coe.{max (max (max (max (succ u6) (succ u8)) (succ u5)) (succ u7)) (succ u2), max (max (succ u6) (succ u8)) (succ u2), max (max (succ u5) (succ u7)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u6, u8, u2} m n A) (fun (_x : Matrix.{u6, u8, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u6, u8, u2} m n A) => Matrix.{u5, u7, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u6 u8) u5) u7) u2, u1, max (max u6 u8) u2, max (max u5 u7) u2} (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) (AddMonoid.toZero.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) (AddMonoid.toZero.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u6 u8) u5) u7) u2, u1, max (max u6 u8) u2, max (max u5 u7) u2} (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u6 u8) u2, max (max u5 u7) u2, max (max (max (max u6 u8) u5) u7) u2} R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u6 u8) u2, max (max u5 u7) u2, max (max (max (max u6 u8) u5) u7) u2} R R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u6 u8) u2, max (max u5 u7) u2} R R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u6, u8, u5, u7, u1, u2} m n m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 eₘ eₙ) M) (FunLike.coe.{max (max (max (max (succ u8) (succ u4)) (succ u7)) (succ u3)) (succ u2), max (max (succ u8) (succ u4)) (succ u2), max (max (succ u7) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u8, u4, u2} n o A) (fun (_x : Matrix.{u8, u4, u2} n o A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u8, u4, u2} n o A) => Matrix.{u7, u3, u2} n' o' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u4) u7) u3) u2, u1, max (max u8 u4) u2, max (max u7 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (SMulZeroClass.toSMul.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) (AddMonoid.toZero.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (AddCommMonoid.toAddMonoid.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) (AddMonoid.toAddZeroClass.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (AddCommMonoid.toAddMonoid.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) (AddMonoid.toZero.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (AddCommMonoid.toAddMonoid.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) (AddMonoid.toAddZeroClass.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (AddCommMonoid.toAddMonoid.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u4) u7) u3) u2, u1, max (max u8 u4) u2, max (max u7 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u4) u2, max (max u7 u3) u2, max (max (max (max u8 u4) u7) u3) u2} R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u4) u2, max (max u7 u3) u2, max (max (max (max u8 u4) u7) u3) u2} R R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u4) u2, max (max u7 u3) u2} R R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u4, u7, u3, u1, u2} n o n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 eₙ eₒ) N)) (FunLike.coe.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2), max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u6, u4, u2} m o A) (fun (_x : Matrix.{u6, u4, u2} m o A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u6, u4, u2} m o A) => Matrix.{u5, u3, u2} m' o' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (SMulZeroClass.toSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) (AddMonoid.toZero.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) (AddMonoid.toAddZeroClass.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) (AddMonoid.toZero.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) (AddMonoid.toAddZeroClass.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2} R R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u6, u4, u5, u3, u1, u2} m o m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 eₘ eₒ) (Matrix.mul.{u2, u6, u8, u4} m n o A _inst_4 (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) M N))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_mul Matrix.reindexLinearEquiv_mulₓ'. -/
 theorem reindexLinearEquiv_mul [Fintype n] [Fintype n'] (eₘ : m ≃ m') (eₙ : n ≃ n') (eₒ : o ≃ o')
     (M : Matrix m n A) (N : Matrix n o A) :
@@ -164,10 +146,7 @@ theorem reindexLinearEquiv_mul [Fintype n] [Fintype n'] (eₘ : m ≃ m') (eₙ
 #align matrix.reindex_linear_equiv_mul Matrix.reindexLinearEquiv_mul
 
 /- warning: matrix.mul_reindex_linear_equiv_one -> Matrix.mul_reindexLinearEquiv_one is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} {o : Type.{u3}} {n' : Type.{u4}} (R : Type.{u5}) (A : Type.{u6}) [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u6} A] [_inst_3 : Module.{u5, u6} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))] [_inst_4 : Fintype.{u2} n] [_inst_5 : DecidableEq.{succ u3} o] (e₁ : Equiv.{succ u3, succ u2} o n) (e₂ : Equiv.{succ u3, succ u4} o n') (M : Matrix.{u1, u2, u6} m n A), Eq.{succ (max u1 u4 u6)} (Matrix.{u1, u4, u6} m n' A) (Matrix.mul.{u6, u1, u2, u4} m n n' A _inst_4 (Distrib.toHasMul.{u6} A (NonUnitalNonAssocSemiring.toDistrib.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) M (coeFn.{max (succ (max u3 u6)) (succ (max u2 u4 u6)), max (succ (max u3 u6)) (succ (max u2 u4 u6))} (LinearEquiv.{u5, u5, max u3 u6, max u2 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u3, u3, u6} o o A) (Matrix.{u2, u4, u6} n n' A) (Matrix.addCommMonoid.{u6, u3, u3} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u2, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u3, u3, u5} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u2, u4, u5} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3)) (fun (_x : LinearEquiv.{u5, u5, max u3 u6, max u2 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u3, u3, u6} o o A) (Matrix.{u2, u4, u6} n n' A) (Matrix.addCommMonoid.{u6, u3, u3} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u2, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u3, u3, u5} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u2, u4, u5} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3)) => (Matrix.{u3, u3, u6} o o A) -> (Matrix.{u2, u4, u6} n n' A)) (LinearEquiv.hasCoeToFun.{u5, u5, max u3 u6, max u2 u4 u6} R R (Matrix.{u3, u3, u6} o o A) (Matrix.{u2, u4, u6} n n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u6, u3, u3} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u2, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u3, u3, u5} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u2, u4, u5} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1)) (Matrix.reindexLinearEquiv.{u3, u3, u2, u4, u5, u6} o o n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3 e₁ e₂) (OfNat.ofNat.{max u3 u6} (Matrix.{u3, u3, u6} o o A) 1 (OfNat.mk.{max u3 u6} (Matrix.{u3, u3, u6} o o A) 1 (One.one.{max u3 u6} (Matrix.{u3, u3, u6} o o A) (Matrix.hasOne.{u6, u3} o A (fun (a : o) (b : o) => _inst_5 a b) (MulZeroClass.toHasZero.{u6} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (AddMonoidWithOne.toOne.{u6} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u6} A (NonAssocSemiring.toAddCommMonoidWithOne.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))))))))) (coeFn.{max (succ (max u1 u2 u6)) (succ (max u1 u4 u6)), max (succ (max u1 u2 u6)) (succ (max u1 u4 u6))} (LinearEquiv.{u5, u5, max u1 u2 u6, max u1 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u1, u2, u6} m n A) (Matrix.{u1, u4, u6} m n' A) (Matrix.addCommMonoid.{u6, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u1, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u1, u4, u5} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3)) (fun (_x : LinearEquiv.{u5, u5, max u1 u2 u6, max u1 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u1, u2, u6} m n A) (Matrix.{u1, u4, u6} m n' A) (Matrix.addCommMonoid.{u6, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u1, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u1, u4, u5} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3)) => (Matrix.{u1, u2, u6} m n A) -> (Matrix.{u1, u4, u6} m n' A)) (LinearEquiv.hasCoeToFun.{u5, u5, max u1 u2 u6, max u1 u4 u6} R R (Matrix.{u1, u2, u6} m n A) (Matrix.{u1, u4, u6} m n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u6, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u1, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u1, u4, u5} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u1, u4, u5, u6} m n m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3 (Equiv.refl.{succ u1} m) (Equiv.trans.{succ u2, succ u3, succ u4} n o n' (Equiv.symm.{succ u3, succ u2} o n e₁) e₂)) M)
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u6}} {o : Type.{u5}} {n' : Type.{u4}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))] [_inst_4 : Fintype.{u6} n] [_inst_5 : DecidableEq.{succ u5} o] (e₁ : Equiv.{succ u5, succ u6} o n) (e₂ : Equiv.{succ u5, succ u4} o n') (M : Matrix.{u3, u6, u2} m n A), Eq.{max (max (succ u3) (succ u4)) (succ u2)} (Matrix.{u3, u4, u2} m n' A) (Matrix.mul.{u2, u3, u6, u4} m n n' A _inst_4 (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) M (FunLike.coe.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u2), max (succ u5) (succ u2), max (max (succ u6) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u5, u5, u2} o o A) (fun (_x : Matrix.{u5, u5, u2} o o A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u5, u5, u2} o o A) => Matrix.{u6, u4, u2} n n' A) _x) (SMulHomClass.toFunLike.{max (max (max u6 u5) u4) u2, u1, max u5 u2, max (max u6 u4) u2} (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (SMulZeroClass.toSMul.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) (AddMonoid.toZero.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (AddCommMonoid.toAddMonoid.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) (AddMonoid.toAddZeroClass.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (AddCommMonoid.toAddMonoid.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) (AddMonoid.toZero.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) (AddMonoid.toAddZeroClass.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u6 u5) u4) u2, u1, max u5 u2, max (max u6 u4) u2} (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u5 u2, max (max u6 u4) u2, max (max (max u6 u5) u4) u2} R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u5 u2, max (max u6 u4) u2, max (max (max u6 u5) u4) u2} R R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u5 u2, max (max u6 u4) u2} R R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u5, u5, u6, u4, u1, u2} o o n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 e₁ e₂) (OfNat.ofNat.{max u5 u2} (Matrix.{u5, u5, u2} o o A) 1 (One.toOfNat1.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.one.{u2, u5} o A (fun (a : o) (b : o) => _inst_5 a b) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (Semiring.toOne.{u2} A _inst_2)))))) (FunLike.coe.{max (max (max (succ u3) (succ u6)) (succ u4)) (succ u2), max (max (succ u3) (succ u6)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u3, u6, u2} m n A) (fun (_x : Matrix.{u3, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u6, u2} m n A) => Matrix.{u3, u4, u2} m n' A) _x) (SMulHomClass.toFunLike.{max (max (max u3 u6) u4) u2, u1, max (max u3 u6) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (SMulZeroClass.toSMul.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) (AddMonoid.toZero.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) (AddMonoid.toZero.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u3 u6) u4) u2, u1, max (max u3 u6) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u6) u2, max (max u3 u4) u2, max (max (max u3 u6) u4) u2} R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u6) u2, max (max u3 u4) u2, max (max (max u3 u6) u4) u2} R R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u3 u6) u2, max (max u3 u4) u2} R R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u3, u6, u3, u4, u1, u2} m n m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 (Equiv.refl.{succ u3} m) (Equiv.trans.{succ u6, succ u5, succ u4} n o n' (Equiv.symm.{succ u5, succ u6} o n e₁) e₂)) M)
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.mul_reindex_linear_equiv_one Matrix.mul_reindexLinearEquiv_oneₓ'. -/
 theorem mul_reindexLinearEquiv_one [Fintype n] [DecidableEq o] (e₁ : o ≃ n) (e₂ : o ≃ n')
     (M : Matrix m n A) :
@@ -200,10 +179,7 @@ def reindexAlgEquiv (e : m ≃ n) : Matrix m m R ≃ₐ[R] Matrix n n R :=
 #align matrix.reindex_alg_equiv Matrix.reindexAlgEquiv
 
 /- warning: matrix.reindex_alg_equiv_apply -> Matrix.reindexAlgEquiv_apply is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : DecidableEq.{succ u1} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n) (M : Matrix.{u1, u1, u3} m m R), Eq.{succ (max u2 u3)} (Matrix.{u2, u2, u3} n n R) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (AlgEquiv.hasCoeToFun.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (coeFn.{max 1 (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u2 u3)) (succ (max u1 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (Equiv.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) (fun (_x : Equiv.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (Equiv.hasCoeToFun.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) (Matrix.reindex.{u3, u2, u1, u1, u2} n m m n R e e) M)
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : DecidableEq.{succ u3} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u3, succ u2} m n) (M : Matrix.{u3, u3, u1} m m R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) M) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u2)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.{u3, u3, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.reindex.{u1, u2, u3, u3, u2} n m m n R e e) M)
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_alg_equiv_apply Matrix.reindexAlgEquiv_applyₓ'. -/
 @[simp]
 theorem reindexAlgEquiv_apply (e : m ≃ n) (M : Matrix m m R) :
@@ -234,10 +210,7 @@ theorem reindexAlgEquiv_refl : reindexAlgEquiv R (Equiv.refl m) = AlgEquiv.refl
 #align matrix.reindex_alg_equiv_refl Matrix.reindexAlgEquiv_refl
 
 /- warning: matrix.reindex_alg_equiv_mul -> Matrix.reindexAlgEquiv_mul is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : DecidableEq.{succ u1} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n) (M : Matrix.{u1, u1, u3} m m R) (N : Matrix.{u1, u1, u3} m m R), Eq.{succ (max u2 u3)} (Matrix.{u2, u2, u3} n n R) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (AlgEquiv.hasCoeToFun.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) (Matrix.mul.{u3, u1, u1, u1} m m m R _inst_3 (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) M N)) (Matrix.mul.{u3, u2, u2, u2} n n n R _inst_2 (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (AlgEquiv.hasCoeToFun.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (AlgEquiv.hasCoeToFun.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) N))
-but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : DecidableEq.{succ u3} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u3, succ u2} m n) (M : Matrix.{u3, u3, u1} m m R) (N : Matrix.{u3, u3, u1} m m R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) (Matrix.mul.{u1, u3, u3, u3} m m m R _inst_3 (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) M N)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) (Matrix.mul.{u1, u3, u3, u3} m m m R _inst_3 (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) M N)) (Matrix.mul.{u1, u2, u2, u2} n n n R _inst_2 (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) N))
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_alg_equiv_mul Matrix.reindexAlgEquiv_mulₓ'. -/
 theorem reindexAlgEquiv_mul (e : m ≃ n) (M : Matrix m m R) (N : Matrix m m R) :
     reindexAlgEquiv R e (M ⬝ N) = reindexAlgEquiv R e M ⬝ reindexAlgEquiv R e N :=
@@ -247,10 +220,7 @@ theorem reindexAlgEquiv_mul (e : m ≃ n) (M : Matrix m m R) (N : Matrix m m R)
 end Algebra
 
 /- warning: matrix.det_reindex_linear_equiv_self -> Matrix.det_reindexLinearEquiv_self is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u1} m] [_inst_3 : DecidableEq.{succ u1} m] [_inst_4 : Fintype.{u2} n] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n) (M : Matrix.{u1, u1, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u2} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (LinearEquiv.{u3, u3, max u1 u3, max u2 u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} m m R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u2, u2} n n R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u2, u2, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (fun (_x : LinearEquiv.{u3, u3, max u1 u3, max u2 u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} m m R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u2, u2} n n R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u2, u2, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u3, max u2 u3} R R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} m m R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u2, u2} n n R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u2, u2, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.reindexLinearEquiv.{u1, u1, u2, u2, u3, u3} m m n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) e e) M)) (Matrix.det.{u3, u1} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 M)
-but is expected to have type
-  forall {m : Type.{u2}} {n : Type.{u1}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u2} m] [_inst_3 : DecidableEq.{succ u2} m] [_inst_4 : Fintype.{u1} n] [_inst_5 : DecidableEq.{succ u1} n] (e : Equiv.{succ u2, succ u1} m n) (M : Matrix.{u2, u2, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u1} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Matrix.{u2, u2, u3} m m R) (fun (_x : Matrix.{u2, u2, u3} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u2, u2, u3} m m R) => Matrix.{u1, u1, u3} n n R) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (SMulZeroClass.toSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toZero.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toAddZeroClass.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u2 u3, max u1 u3} R R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (Matrix.reindexLinearEquiv.{u2, u2, u1, u1, u3, u3} m m n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) e e) M)) (Matrix.det.{u3, u2} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 M)
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.det_reindex_linear_equiv_self Matrix.det_reindexLinearEquiv_selfₓ'. -/
 /-- Reindexing both indices along the same equivalence preserves the determinant.
 
@@ -262,10 +232,7 @@ theorem det_reindexLinearEquiv_self [CommRing R] [Fintype m] [DecidableEq m] [Fi
 #align matrix.det_reindex_linear_equiv_self Matrix.det_reindexLinearEquiv_self
 
 /- warning: matrix.det_reindex_alg_equiv -> Matrix.det_reindexAlgEquiv is a dubious translation:
-lean 3 declaration is
-  forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u1} m] [_inst_3 : DecidableEq.{succ u1} m] [_inst_4 : Fintype.{u2} n] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n) (A : Matrix.{u1, u1, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u2} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.algebra.{u3, u2, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (fun (_x : AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.algebra.{u3, u2, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (AlgEquiv.hasCoeToFun.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.algebra.{u3, u2, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_4 _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (fun (a : n) (b : n) => _inst_5 a b) e) A)) (Matrix.det.{u3, u1} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 A)
-but is expected to have type
-  forall {m : Type.{u2}} {n : Type.{u1}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u2} m] [_inst_3 : DecidableEq.{succ u2} m] [_inst_4 : Fintype.{u1} n] [_inst_5 : DecidableEq.{succ u1} n] (e : Equiv.{succ u2, succ u1} m n) (A : Matrix.{u2, u2, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u1} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), max (succ u1) (succ u3)} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.{u2, u2, u3} m m R) (fun (_x : Matrix.{u2, u2, u3} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u2, u2, u3} m m R) => Matrix.{u1, u1, u3} n n R) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (SMulZeroClass.toSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))) (Algebra.toModule.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toZero.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toAddZeroClass.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)))))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))) (Algebra.toModule.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))) (Algebra.toModule.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AlgEquivClass.toAlgHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AlgEquiv.instAlgEquivClassAlgEquiv.{u3, max u2 u3, max u1 u3} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))))))) (Matrix.reindexAlgEquiv.{u2, u1, u3} m n R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_4 _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (fun (a : n) (b : n) => _inst_5 a b) e) A)) (Matrix.det.{u3, u2} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 A)
+<too large>
 Case conversion may be inaccurate. Consider using '#align matrix.det_reindex_alg_equiv Matrix.det_reindexAlgEquivₓ'. -/
 /-- Reindexing both indices along the same equivalence preserves the determinant.
 
Diff
@@ -60,7 +60,7 @@ def reindexLinearEquiv (eₘ : m ≃ m') (eₙ : n ≃ n') : Matrix m n A ≃ₗ
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {m' : Type.{u3}} {n' : Type.{u4}} (R : Type.{u5}) (A : Type.{u6}) [_inst_1 : Semiring.{u5} R] [_inst_2 : AddCommMonoid.{u6} A] [_inst_3 : Module.{u5, u6} R A _inst_1 _inst_2] (eₘ : Equiv.{succ u1, succ u3} m m') (eₙ : Equiv.{succ u2, succ u4} n n') (M : Matrix.{u1, u2, u6} m n A), Eq.{succ (max u3 u4 u6)} (Matrix.{u3, u4, u6} m' n' A) (coeFn.{max (succ (max u1 u2 u6)) (succ (max u3 u4 u6)), max (succ (max u1 u2 u6)) (succ (max u3 u4 u6))} (LinearEquiv.{u5, u5, max u1 u2 u6, max u3 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A) (Matrix.addCommMonoid.{u6, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u6, u3, u4} m' n' A _inst_2) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u6, u3, u4, u5} m' n' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u5, u5, max u1 u2 u6, max u3 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A) (Matrix.addCommMonoid.{u6, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u6, u3, u4} m' n' A _inst_2) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u6, u3, u4, u5} m' n' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u2, u6} m n A) -> (Matrix.{u3, u4, u6} m' n' A)) (LinearEquiv.hasCoeToFun.{u5, u5, max u1 u2 u6, max u3 u4 u6} R R (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u6, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u6, u3, u4} m' n' A _inst_2) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u6, u3, u4, u5} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u3, u4, u5, u6} m n m' n' R A _inst_1 _inst_2 _inst_3 eₘ eₙ) M) (coeFn.{max 1 (max (succ (max u1 u2 u6)) (succ (max u3 u4 u6))) (succ (max u3 u4 u6)) (succ (max u1 u2 u6)), max (succ (max u1 u2 u6)) (succ (max u3 u4 u6))} (Equiv.{succ (max u1 u2 u6), succ (max u3 u4 u6)} (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A)) (fun (_x : Equiv.{succ (max u1 u2 u6), succ (max u3 u4 u6)} (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A)) => (Matrix.{u1, u2, u6} m n A) -> (Matrix.{u3, u4, u6} m' n' A)) (Equiv.hasCoeToFun.{succ (max u1 u2 u6), succ (max u3 u4 u6)} (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A)) (Matrix.reindex.{u6, u3, u1, u2, u4} m' m n n' A eₘ eₙ) M)
 but is expected to have type
-  forall {m : Type.{u6}} {n : Type.{u4}} {m' : Type.{u5}} {n' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (eₘ : Equiv.{succ u6, succ u5} m m') (eₙ : Equiv.{succ u4, succ u3} n n') (M : Matrix.{u6, u4, u2} m n A), Eq.{max (max (succ u5) (succ u3)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) M) (FunLike.coe.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2), max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u6, u4, u2} m n A) (fun (_x : Matrix.{u6, u4, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (AddMonoid.toZero.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (AddMonoid.toZero.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2} R R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u6, u4, u5, u3, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 eₘ eₙ) M) (FunLike.coe.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2), max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (Equiv.{max (max (succ u2) (succ u4)) (succ u6), max (max (succ u2) (succ u3)) (succ u5)} (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A)) (Matrix.{u6, u4, u2} m n A) (fun (_x : Matrix.{u6, u4, u2} m n A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) _x) (Equiv.instFunLikeEquiv.{max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A)) (Matrix.reindex.{u2, u5, u6, u4, u3} m' m n n' A eₘ eₙ) M)
+  forall {m : Type.{u6}} {n : Type.{u4}} {m' : Type.{u5}} {n' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (eₘ : Equiv.{succ u6, succ u5} m m') (eₙ : Equiv.{succ u4, succ u3} n n') (M : Matrix.{u6, u4, u2} m n A), Eq.{max (max (succ u5) (succ u3)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) M) (FunLike.coe.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2), max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u6, u4, u2} m n A) (fun (_x : Matrix.{u6, u4, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (AddMonoid.toZero.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (AddMonoid.toZero.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2} R R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u6, u4, u5, u3, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 eₘ eₙ) M) (FunLike.coe.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2), max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (Equiv.{max (max (succ u2) (succ u4)) (succ u6), max (max (succ u2) (succ u3)) (succ u5)} (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A)) (Matrix.{u6, u4, u2} m n A) (fun (_x : Matrix.{u6, u4, u2} m n A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) _x) (Equiv.instFunLikeEquiv.{max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A)) (Matrix.reindex.{u2, u5, u6, u4, u3} m' m n n' A eₘ eₙ) M)
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_apply Matrix.reindexLinearEquiv_applyₓ'. -/
 @[simp]
 theorem reindexLinearEquiv_apply (eₘ : m ≃ m') (eₙ : n ≃ n') (M : Matrix m n A) :
@@ -110,7 +110,7 @@ theorem reindexLinearEquiv_trans (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m'
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {m' : Type.{u3}} {n' : Type.{u4}} {m'' : Type.{u5}} {n'' : Type.{u6}} (R : Type.{u7}) (A : Type.{u8}) [_inst_1 : Semiring.{u7} R] [_inst_2 : AddCommMonoid.{u8} A] [_inst_3 : Module.{u7, u8} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u1, succ u3} m m') (e₂ : Equiv.{succ u2, succ u4} n n') (e₁' : Equiv.{succ u3, succ u5} m' m'') (e₂' : Equiv.{succ u4, succ u6} n' n''), Eq.{max (succ (max u1 u2 u8)) (succ (max u5 u6 u8))} ((Matrix.{u1, u2, u8} m n A) -> (Matrix.{u5, u6, u8} m'' n'' A)) (Function.comp.{succ (max u1 u2 u8), succ (max u3 u4 u8), succ (max u5 u6 u8)} (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) (coeFn.{max (succ (max u3 u4 u8)) (succ (max u5 u6 u8)), max (succ (max u3 u4 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u3, u4, u8} m' n' A) -> (Matrix.{u5, u6, u8} m'' n'' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u3, u4, u5, u6, u7, u8} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂')) (coeFn.{max (succ (max u1 u2 u8)) (succ (max u3 u4 u8)), max (succ (max u1 u2 u8)) (succ (max u3 u4 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u2, u8} m n A) -> (Matrix.{u3, u4, u8} m' n' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u3, u4, u7, u8} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂))) (coeFn.{max (succ (max u1 u2 u8)) (succ (max u5 u6 u8)), max (succ (max u1 u2 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u2, u8} m n A) -> (Matrix.{u5, u6, u8} m'' n'' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u5, u6, u7, u8} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u1, succ u3, succ u5} m m' m'' e₁ e₁') (Equiv.trans.{succ u2, succ u4, succ u6} n n' n'' e₂ e₂')))
 but is expected to have type
-  forall {m : Type.{u8}} {n : Type.{u6}} {m' : Type.{u7}} {n' : Type.{u5}} {m'' : Type.{u4}} {n'' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u8, succ u7} m m') (e₂ : Equiv.{succ u6, succ u5} n n') (e₁' : Equiv.{succ u7, succ u4} m' m'') (e₂' : Equiv.{succ u5, succ u3} n' n''), Eq.{max (max (max (max (succ u8) (succ u6)) (succ u4)) (succ u3)) (succ u2)} ((Matrix.{u8, u6, u2} m n A) -> (Matrix.{u4, u3, u2} m'' n'' A)) (Function.comp.{max (max (succ u8) (succ u6)) (succ u2), max (max (succ u7) (succ u5)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (FunLike.coe.{max (max (max (max (succ u7) (succ u5)) (succ u4)) (succ u3)) (succ u2), max (max (succ u7) (succ u5)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u7, u5, u2} m' n' A) (fun (_x : Matrix.{u7, u5, u2} m' n' A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u7, u5, u2} m' n' A) => Matrix.{u4, u3, u2} m'' n'' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u7 u5) u4) u3) u2, u1, max (max u7 u5) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toZero.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toAddZeroClass.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u7 u5) u4) u3) u2, u1, max (max u7 u5) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u7 u5) u2, max (max u4 u3) u2, max (max (max (max u7 u5) u4) u3) u2} R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u7 u5) u2, max (max u4 u3) u2, max (max (max (max u7 u5) u4) u3) u2} R R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u7 u5) u2, max (max u4 u3) u2} R R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u7, u5, u4, u3, u1, u2} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂')) (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u7)) (succ u5)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u7) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (_x : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u8, u6, u2} m n A) => Matrix.{u7, u5, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u7, u5, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂))) (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u4)) (succ u3)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (_x : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u8, u6, u2} m n A) => Matrix.{u4, u3, u2} m'' n'' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u4) u3) u2, u1, max (max u8 u6) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toZero.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toAddZeroClass.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u4) u3) u2, u1, max (max u8 u6) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u4 u3) u2, max (max (max (max u8 u6) u4) u3) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u4 u3) u2, max (max (max (max u8 u6) u4) u3) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u4 u3) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u4, u3, u1, u2} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u8, succ u7, succ u4} m m' m'' e₁ e₁') (Equiv.trans.{succ u6, succ u5, succ u3} n n' n'' e₂ e₂')))
+  forall {m : Type.{u8}} {n : Type.{u6}} {m' : Type.{u7}} {n' : Type.{u5}} {m'' : Type.{u4}} {n'' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u8, succ u7} m m') (e₂ : Equiv.{succ u6, succ u5} n n') (e₁' : Equiv.{succ u7, succ u4} m' m'') (e₂' : Equiv.{succ u5, succ u3} n' n''), Eq.{max (max (max (max (succ u8) (succ u6)) (succ u4)) (succ u3)) (succ u2)} ((Matrix.{u8, u6, u2} m n A) -> (Matrix.{u4, u3, u2} m'' n'' A)) (Function.comp.{max (max (succ u8) (succ u6)) (succ u2), max (max (succ u7) (succ u5)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (FunLike.coe.{max (max (max (max (succ u7) (succ u5)) (succ u4)) (succ u3)) (succ u2), max (max (succ u7) (succ u5)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u7, u5, u2} m' n' A) (fun (_x : Matrix.{u7, u5, u2} m' n' A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u7, u5, u2} m' n' A) => Matrix.{u4, u3, u2} m'' n'' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u7 u5) u4) u3) u2, u1, max (max u7 u5) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toZero.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toAddZeroClass.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u7 u5) u4) u3) u2, u1, max (max u7 u5) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u7 u5) u2, max (max u4 u3) u2, max (max (max (max u7 u5) u4) u3) u2} R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u7 u5) u2, max (max u4 u3) u2, max (max (max (max u7 u5) u4) u3) u2} R R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u7 u5) u2, max (max u4 u3) u2} R R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u7, u5, u4, u3, u1, u2} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂')) (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u7)) (succ u5)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u7) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (_x : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u8, u6, u2} m n A) => Matrix.{u7, u5, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u7, u5, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂))) (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u4)) (succ u3)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (_x : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u8, u6, u2} m n A) => Matrix.{u4, u3, u2} m'' n'' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u4) u3) u2, u1, max (max u8 u6) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toZero.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toAddZeroClass.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u4) u3) u2, u1, max (max u8 u6) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u4 u3) u2, max (max (max (max u8 u6) u4) u3) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u4 u3) u2, max (max (max (max u8 u6) u4) u3) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u4 u3) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u4, u3, u1, u2} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u8, succ u7, succ u4} m m' m'' e₁ e₁') (Equiv.trans.{succ u6, succ u5, succ u3} n n' n'' e₂ e₂')))
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_comp Matrix.reindexLinearEquiv_compₓ'. -/
 theorem reindexLinearEquiv_comp (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m' ≃ m'') (e₂' : n' ≃ n'') :
     reindexLinearEquiv R A e₁' e₂' ∘ reindexLinearEquiv R A e₁ e₂ =
@@ -124,7 +124,7 @@ theorem reindexLinearEquiv_comp (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m'
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {m' : Type.{u3}} {n' : Type.{u4}} {m'' : Type.{u5}} {n'' : Type.{u6}} (R : Type.{u7}) (A : Type.{u8}) [_inst_1 : Semiring.{u7} R] [_inst_2 : AddCommMonoid.{u8} A] [_inst_3 : Module.{u7, u8} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u1, succ u3} m m') (e₂ : Equiv.{succ u2, succ u4} n n') (e₁' : Equiv.{succ u3, succ u5} m' m'') (e₂' : Equiv.{succ u4, succ u6} n' n'') (M : Matrix.{u1, u2, u8} m n A), Eq.{succ (max u5 u6 u8)} (Matrix.{u5, u6, u8} m'' n'' A) (coeFn.{max (succ (max u3 u4 u8)) (succ (max u5 u6 u8)), max (succ (max u3 u4 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u3, u4, u8} m' n' A) -> (Matrix.{u5, u6, u8} m'' n'' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u3, u4, u5, u6, u7, u8} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂') (coeFn.{max (succ (max u1 u2 u8)) (succ (max u3 u4 u8)), max (succ (max u1 u2 u8)) (succ (max u3 u4 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u2, u8} m n A) -> (Matrix.{u3, u4, u8} m' n' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u3, u4, u7, u8} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂) M)) (coeFn.{max (succ (max u1 u2 u8)) (succ (max u5 u6 u8)), max (succ (max u1 u2 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u2, u8} m n A) -> (Matrix.{u5, u6, u8} m'' n'' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u5, u6, u7, u8} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u1, succ u3, succ u5} m m' m'' e₁ e₁') (Equiv.trans.{succ u2, succ u4, succ u6} n n' n'' e₂ e₂')) M)
 but is expected to have type
-  forall {m : Type.{u8}} {n : Type.{u6}} {m' : Type.{u7}} {n' : Type.{u5}} {m'' : Type.{u4}} {n'' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u8, succ u7} m m') (e₂ : Equiv.{succ u6, succ u5} n n') (e₁' : Equiv.{succ u7, succ u4} m' m'') (e₂' : Equiv.{succ u5, succ u3} n' n'') (M : Matrix.{u8, u6, u2} m n A), Eq.{max (max (succ u4) (succ u3)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u7, u5, u2} m' n' A) => Matrix.{u4, u3, u2} m'' n'' A) (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u7)) (succ u5)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u7) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (a : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u8, u6, u2} m n A) => Matrix.{u7, u5, u2} m' n' A) a) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u7, u5, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂) M)) (FunLike.coe.{max (max (max (max (succ u7) (succ u5)) (succ u4)) (succ u3)) (succ u2), max (max (succ u7) (succ u5)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u7, u5, u2} m' n' A) (fun (_x : Matrix.{u7, u5, u2} m' n' A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u7, u5, u2} m' n' A) => Matrix.{u4, u3, u2} m'' n'' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u7 u5) u4) u3) u2, u1, max (max u7 u5) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toZero.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toAddZeroClass.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u7 u5) u4) u3) u2, u1, max (max u7 u5) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u7 u5) u2, max (max u4 u3) u2, max (max (max (max u7 u5) u4) u3) u2} R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u7 u5) u2, max (max u4 u3) u2, max (max (max (max u7 u5) u4) u3) u2} R R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u7 u5) u2, max (max u4 u3) u2} R R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u7, u5, u4, u3, u1, u2} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂') (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u7)) (succ u5)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u7) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (_x : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u8, u6, u2} m n A) => Matrix.{u7, u5, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u7, u5, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂) M)) (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u4)) (succ u3)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (_x : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u8, u6, u2} m n A) => Matrix.{u4, u3, u2} m'' n'' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u4) u3) u2, u1, max (max u8 u6) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toZero.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toAddZeroClass.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u4) u3) u2, u1, max (max u8 u6) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u4 u3) u2, max (max (max (max u8 u6) u4) u3) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u4 u3) u2, max (max (max (max u8 u6) u4) u3) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u4 u3) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u4, u3, u1, u2} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u8, succ u7, succ u4} m m' m'' e₁ e₁') (Equiv.trans.{succ u6, succ u5, succ u3} n n' n'' e₂ e₂')) M)
+  forall {m : Type.{u8}} {n : Type.{u6}} {m' : Type.{u7}} {n' : Type.{u5}} {m'' : Type.{u4}} {n'' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u8, succ u7} m m') (e₂ : Equiv.{succ u6, succ u5} n n') (e₁' : Equiv.{succ u7, succ u4} m' m'') (e₂' : Equiv.{succ u5, succ u3} n' n'') (M : Matrix.{u8, u6, u2} m n A), Eq.{max (max (succ u4) (succ u3)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u7, u5, u2} m' n' A) => Matrix.{u4, u3, u2} m'' n'' A) (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u7)) (succ u5)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u7) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (a : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u8, u6, u2} m n A) => Matrix.{u7, u5, u2} m' n' A) a) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u7, u5, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂) M)) (FunLike.coe.{max (max (max (max (succ u7) (succ u5)) (succ u4)) (succ u3)) (succ u2), max (max (succ u7) (succ u5)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u7, u5, u2} m' n' A) (fun (_x : Matrix.{u7, u5, u2} m' n' A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u7, u5, u2} m' n' A) => Matrix.{u4, u3, u2} m'' n'' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u7 u5) u4) u3) u2, u1, max (max u7 u5) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toZero.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toAddZeroClass.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u7 u5) u4) u3) u2, u1, max (max u7 u5) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u7 u5) u2, max (max u4 u3) u2, max (max (max (max u7 u5) u4) u3) u2} R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u7 u5) u2, max (max u4 u3) u2, max (max (max (max u7 u5) u4) u3) u2} R R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u7 u5) u2, max (max u4 u3) u2} R R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u7, u5, u4, u3, u1, u2} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂') (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u7)) (succ u5)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u7) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (_x : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u8, u6, u2} m n A) => Matrix.{u7, u5, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u7, u5, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂) M)) (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u4)) (succ u3)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (_x : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u8, u6, u2} m n A) => Matrix.{u4, u3, u2} m'' n'' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u4) u3) u2, u1, max (max u8 u6) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toZero.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toAddZeroClass.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u4) u3) u2, u1, max (max u8 u6) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u4 u3) u2, max (max (max (max u8 u6) u4) u3) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u4 u3) u2, max (max (max (max u8 u6) u4) u3) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u4 u3) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u4, u3, u1, u2} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u8, succ u7, succ u4} m m' m'' e₁ e₁') (Equiv.trans.{succ u6, succ u5, succ u3} n n' n'' e₂ e₂')) M)
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_comp_apply Matrix.reindexLinearEquiv_comp_applyₓ'. -/
 theorem reindexLinearEquiv_comp_apply (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m' ≃ m'') (e₂' : n' ≃ n'')
     (M : Matrix m n A) :
@@ -137,7 +137,7 @@ theorem reindexLinearEquiv_comp_apply (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁'
 lean 3 declaration is
   forall {m : Type.{u1}} {m' : Type.{u2}} (R : Type.{u3}) (A : Type.{u4}) [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u4} A] [_inst_3 : Module.{u3, u4} R A _inst_1 _inst_2] [_inst_4 : DecidableEq.{succ u1} m] [_inst_5 : DecidableEq.{succ u2} m'] [_inst_6 : One.{u4} A] (e : Equiv.{succ u1, succ u2} m m'), Eq.{succ (max u2 u4)} (Matrix.{u2, u2, u4} m' m' A) (coeFn.{max (succ (max u1 u4)) (succ (max u2 u4)), max (succ (max u1 u4)) (succ (max u2 u4))} (LinearEquiv.{u3, u3, max u1 u4, max u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Matrix.{u1, u1, u4} m m A) (Matrix.{u2, u2, u4} m' m' A) (Matrix.addCommMonoid.{u4, u1, u1} m m A _inst_2) (Matrix.addCommMonoid.{u4, u2, u2} m' m' A _inst_2) (Matrix.module.{u4, u1, u1, u3} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u4, u2, u2, u3} m' m' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u3, u3, max u1 u4, max u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Matrix.{u1, u1, u4} m m A) (Matrix.{u2, u2, u4} m' m' A) (Matrix.addCommMonoid.{u4, u1, u1} m m A _inst_2) (Matrix.addCommMonoid.{u4, u2, u2} m' m' A _inst_2) (Matrix.module.{u4, u1, u1, u3} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u4, u2, u2, u3} m' m' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u1, u4} m m A) -> (Matrix.{u2, u2, u4} m' m' A)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u4, max u2 u4} R R (Matrix.{u1, u1, u4} m m A) (Matrix.{u2, u2, u4} m' m' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u4, u1, u1} m m A _inst_2) (Matrix.addCommMonoid.{u4, u2, u2} m' m' A _inst_2) (Matrix.module.{u4, u1, u1, u3} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u4, u2, u2, u3} m' m' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u1, u2, u2, u3, u4} m m m' m' R A _inst_1 _inst_2 _inst_3 e e) (OfNat.ofNat.{max u1 u4} (Matrix.{u1, u1, u4} m m A) 1 (OfNat.mk.{max u1 u4} (Matrix.{u1, u1, u4} m m A) 1 (One.one.{max u1 u4} (Matrix.{u1, u1, u4} m m A) (Matrix.hasOne.{u4, u1} m A (fun (a : m) (b : m) => _inst_4 a b) (AddZeroClass.toHasZero.{u4} A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A _inst_2))) _inst_6))))) (OfNat.ofNat.{max u2 u4} (Matrix.{u2, u2, u4} m' m' A) 1 (OfNat.mk.{max u2 u4} (Matrix.{u2, u2, u4} m' m' A) 1 (One.one.{max u2 u4} (Matrix.{u2, u2, u4} m' m' A) (Matrix.hasOne.{u4, u2} m' A (fun (a : m') (b : m') => _inst_5 a b) (AddZeroClass.toHasZero.{u4} A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A _inst_2))) _inst_6))))
 but is expected to have type
-  forall {m : Type.{u4}} {m' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : DecidableEq.{succ u4} m] [_inst_5 : DecidableEq.{succ u3} m'] [_inst_6 : One.{u2} A] (e : Equiv.{succ u4, succ u3} m m'), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u4, u4, u2} m m A) => Matrix.{u3, u3, u2} m' m' A) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} m m A) 1 (One.toOfNat1.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.one.{u2, u4} m A (fun (a : m) (b : m) => _inst_4 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), max (succ u4) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u4, u4, u2} m m A) (fun (_x : Matrix.{u4, u4, u2} m m A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u4, u4, u2} m m A) => Matrix.{u3, u3, u2} m' m' A) _x) (SMulHomClass.toFunLike.{max (max u4 u3) u2, u1, max u4 u2, max u3 u2} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (SMulZeroClass.toSMul.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) (AddMonoid.toZero.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (AddCommMonoid.toAddMonoid.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) (AddMonoid.toAddZeroClass.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (AddCommMonoid.toAddMonoid.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2)) (Module.toDistribMulAction.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2)) (Module.toDistribMulAction.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u3) u2, u1, max u4 u2, max u3 u2} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2)) (Module.toDistribMulAction.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u4 u2, max u3 u2, max (max u4 u3) u2} R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u4 u2, max u3 u2, max (max u4 u3) u2} R R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u4 u2, max u3 u2} R R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u4, u4, u3, u3, u1, u2} m m m' m' R A _inst_1 _inst_2 _inst_3 e e) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} m m A) 1 (One.toOfNat1.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.one.{u2, u4} m A (fun (a : m) (b : m) => _inst_4 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))) (OfNat.ofNat.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u4, u4, u2} m m A) => Matrix.{u3, u3, u2} m' m' A) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} m m A) 1 (One.toOfNat1.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.one.{u2, u4} m A (fun (a : m) (b : m) => _inst_4 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))) 1 (One.toOfNat1.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u4, u4, u2} m m A) => Matrix.{u3, u3, u2} m' m' A) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} m m A) 1 (One.toOfNat1.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.one.{u2, u4} m A (fun (a : m) (b : m) => _inst_4 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))) (Matrix.one.{u2, u3} m' A (fun (a : m') (b : m') => _inst_5 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))
+  forall {m : Type.{u4}} {m' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : DecidableEq.{succ u4} m] [_inst_5 : DecidableEq.{succ u3} m'] [_inst_6 : One.{u2} A] (e : Equiv.{succ u4, succ u3} m m'), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u4, u4, u2} m m A) => Matrix.{u3, u3, u2} m' m' A) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} m m A) 1 (One.toOfNat1.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.one.{u2, u4} m A (fun (a : m) (b : m) => _inst_4 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), max (succ u4) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u4, u4, u2} m m A) (fun (_x : Matrix.{u4, u4, u2} m m A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u4, u4, u2} m m A) => Matrix.{u3, u3, u2} m' m' A) _x) (SMulHomClass.toFunLike.{max (max u4 u3) u2, u1, max u4 u2, max u3 u2} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (SMulZeroClass.toSMul.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) (AddMonoid.toZero.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (AddCommMonoid.toAddMonoid.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) (AddMonoid.toAddZeroClass.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (AddCommMonoid.toAddMonoid.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2)) (Module.toDistribMulAction.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2)) (Module.toDistribMulAction.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u3) u2, u1, max u4 u2, max u3 u2} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2)) (Module.toDistribMulAction.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u4 u2, max u3 u2, max (max u4 u3) u2} R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u4 u2, max u3 u2, max (max u4 u3) u2} R R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u4 u2, max u3 u2} R R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u4, u4, u3, u3, u1, u2} m m m' m' R A _inst_1 _inst_2 _inst_3 e e) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} m m A) 1 (One.toOfNat1.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.one.{u2, u4} m A (fun (a : m) (b : m) => _inst_4 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))) (OfNat.ofNat.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u4, u4, u2} m m A) => Matrix.{u3, u3, u2} m' m' A) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} m m A) 1 (One.toOfNat1.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.one.{u2, u4} m A (fun (a : m) (b : m) => _inst_4 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))) 1 (One.toOfNat1.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u4, u4, u2} m m A) => Matrix.{u3, u3, u2} m' m' A) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} m m A) 1 (One.toOfNat1.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.one.{u2, u4} m A (fun (a : m) (b : m) => _inst_4 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))) (Matrix.one.{u2, u3} m' A (fun (a : m') (b : m') => _inst_5 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_one Matrix.reindexLinearEquiv_oneₓ'. -/
 theorem reindexLinearEquiv_one [DecidableEq m] [DecidableEq m'] [One A] (e : m ≃ m') :
     reindexLinearEquiv R A e e (1 : Matrix m m A) = 1 :=
@@ -154,7 +154,7 @@ variable [Semiring R] [Semiring A] [Module R A]
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {o : Type.{u3}} {m' : Type.{u4}} {n' : Type.{u5}} {o' : Type.{u6}} (R : Type.{u7}) (A : Type.{u8}) [_inst_1 : Semiring.{u7} R] [_inst_2 : Semiring.{u8} A] [_inst_3 : Module.{u7, u8} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))] [_inst_4 : Fintype.{u2} n] [_inst_5 : Fintype.{u5} n'] (eₘ : Equiv.{succ u1, succ u4} m m') (eₙ : Equiv.{succ u2, succ u5} n n') (eₒ : Equiv.{succ u3, succ u6} o o') (M : Matrix.{u1, u2, u8} m n A) (N : Matrix.{u2, u3, u8} n o A), Eq.{succ (max u4 u6 u8)} (Matrix.{u4, u6, u8} m' o' A) (Matrix.mul.{u8, u4, u5, u6} m' n' o' A _inst_5 (Distrib.toHasMul.{u8} A (NonUnitalNonAssocSemiring.toDistrib.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) (coeFn.{max (succ (max u1 u2 u8)) (succ (max u4 u5 u8)), max (succ (max u1 u2 u8)) (succ (max u4 u5 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u4 u5 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u4, u5, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u5} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u5, u7} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u2 u8, max u4 u5 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u4, u5, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u5} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u5, u7} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) => (Matrix.{u1, u2, u8} m n A) -> (Matrix.{u4, u5, u8} m' n' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u2 u8, max u4 u5 u8} R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u4, u5, u8} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u5} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u5, u7} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u4, u5, u7, u8} m n m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3 eₘ eₙ) M) (coeFn.{max (succ (max u2 u3 u8)) (succ (max u5 u6 u8)), max (succ (max u2 u3 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u2 u3 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u2, u3, u8} n o A) (Matrix.{u5, u6, u8} n' o' A) (Matrix.addCommMonoid.{u8, u2, u3} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u5, u6} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u2, u3, u7} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u5, u6, u7} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u2 u3 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u2, u3, u8} n o A) (Matrix.{u5, u6, u8} n' o' A) (Matrix.addCommMonoid.{u8, u2, u3} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u5, u6} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u2, u3, u7} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u5, u6, u7} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) => (Matrix.{u2, u3, u8} n o A) -> (Matrix.{u5, u6, u8} n' o' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u2 u3 u8, max u5 u6 u8} R R (Matrix.{u2, u3, u8} n o A) (Matrix.{u5, u6, u8} n' o' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u2, u3} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u5, u6} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u2, u3, u7} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u5, u6, u7} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u2, u3, u5, u6, u7, u8} n o n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3 eₙ eₒ) N)) (coeFn.{max (succ (max u1 u3 u8)) (succ (max u4 u6 u8)), max (succ (max u1 u3 u8)) (succ (max u4 u6 u8))} (LinearEquiv.{u7, u7, max u1 u3 u8, max u4 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u3, u8} m o A) (Matrix.{u4, u6, u8} m' o' A) (Matrix.addCommMonoid.{u8, u1, u3} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u6} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u3, u7} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u6, u7} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u3 u8, max u4 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u3, u8} m o A) (Matrix.{u4, u6, u8} m' o' A) (Matrix.addCommMonoid.{u8, u1, u3} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u6} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u3, u7} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u6, u7} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) => (Matrix.{u1, u3, u8} m o A) -> (Matrix.{u4, u6, u8} m' o' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u3 u8, max u4 u6 u8} R R (Matrix.{u1, u3, u8} m o A) (Matrix.{u4, u6, u8} m' o' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u3} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u6} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u3, u7} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u6, u7} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u3, u4, u6, u7, u8} m o m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3 eₘ eₒ) (Matrix.mul.{u8, u1, u2, u3} m n o A _inst_4 (Distrib.toHasMul.{u8} A (NonUnitalNonAssocSemiring.toDistrib.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) M N))
 but is expected to have type
-  forall {m : Type.{u6}} {n : Type.{u8}} {o : Type.{u4}} {m' : Type.{u5}} {n' : Type.{u7}} {o' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))] [_inst_4 : Fintype.{u8} n] [_inst_5 : Fintype.{u7} n'] (eₘ : Equiv.{succ u6, succ u5} m m') (eₙ : Equiv.{succ u8, succ u7} n n') (eₒ : Equiv.{succ u4, succ u3} o o') (M : Matrix.{u6, u8, u2} m n A) (N : Matrix.{u8, u4, u2} n o A), Eq.{max (max (succ u5) (succ u3)) (succ u2)} (Matrix.{u5, u3, u2} m' o' A) (Matrix.mul.{u2, u5, u7, u3} m' n' o' A _inst_5 (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (FunLike.coe.{max (max (max (max (succ u6) (succ u8)) (succ u5)) (succ u7)) (succ u2), max (max (succ u6) (succ u8)) (succ u2), max (max (succ u5) (succ u7)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u6, u8, u2} m n A) (fun (_x : Matrix.{u6, u8, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u6, u8, u2} m n A) => Matrix.{u5, u7, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u6 u8) u5) u7) u2, u1, max (max u6 u8) u2, max (max u5 u7) u2} (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) (AddMonoid.toZero.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) (AddMonoid.toZero.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u6 u8) u5) u7) u2, u1, max (max u6 u8) u2, max (max u5 u7) u2} (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u6 u8) u2, max (max u5 u7) u2, max (max (max (max u6 u8) u5) u7) u2} R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u6 u8) u2, max (max u5 u7) u2, max (max (max (max u6 u8) u5) u7) u2} R R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u6 u8) u2, max (max u5 u7) u2} R R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u6, u8, u5, u7, u1, u2} m n m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 eₘ eₙ) M) (FunLike.coe.{max (max (max (max (succ u8) (succ u4)) (succ u7)) (succ u3)) (succ u2), max (max (succ u8) (succ u4)) (succ u2), max (max (succ u7) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u8, u4, u2} n o A) (fun (_x : Matrix.{u8, u4, u2} n o A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u8, u4, u2} n o A) => Matrix.{u7, u3, u2} n' o' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u4) u7) u3) u2, u1, max (max u8 u4) u2, max (max u7 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (SMulZeroClass.toSMul.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) (AddMonoid.toZero.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (AddCommMonoid.toAddMonoid.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) (AddMonoid.toAddZeroClass.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (AddCommMonoid.toAddMonoid.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) (AddMonoid.toZero.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (AddCommMonoid.toAddMonoid.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) (AddMonoid.toAddZeroClass.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (AddCommMonoid.toAddMonoid.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u4) u7) u3) u2, u1, max (max u8 u4) u2, max (max u7 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u4) u2, max (max u7 u3) u2, max (max (max (max u8 u4) u7) u3) u2} R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u4) u2, max (max u7 u3) u2, max (max (max (max u8 u4) u7) u3) u2} R R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u4) u2, max (max u7 u3) u2} R R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u4, u7, u3, u1, u2} n o n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 eₙ eₒ) N)) (FunLike.coe.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2), max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u6, u4, u2} m o A) (fun (_x : Matrix.{u6, u4, u2} m o A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u6, u4, u2} m o A) => Matrix.{u5, u3, u2} m' o' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (SMulZeroClass.toSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) (AddMonoid.toZero.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) (AddMonoid.toAddZeroClass.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) (AddMonoid.toZero.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) (AddMonoid.toAddZeroClass.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2} R R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u6, u4, u5, u3, u1, u2} m o m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 eₘ eₒ) (Matrix.mul.{u2, u6, u8, u4} m n o A _inst_4 (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) M N))
+  forall {m : Type.{u6}} {n : Type.{u8}} {o : Type.{u4}} {m' : Type.{u5}} {n' : Type.{u7}} {o' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))] [_inst_4 : Fintype.{u8} n] [_inst_5 : Fintype.{u7} n'] (eₘ : Equiv.{succ u6, succ u5} m m') (eₙ : Equiv.{succ u8, succ u7} n n') (eₒ : Equiv.{succ u4, succ u3} o o') (M : Matrix.{u6, u8, u2} m n A) (N : Matrix.{u8, u4, u2} n o A), Eq.{max (max (succ u5) (succ u3)) (succ u2)} (Matrix.{u5, u3, u2} m' o' A) (Matrix.mul.{u2, u5, u7, u3} m' n' o' A _inst_5 (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (FunLike.coe.{max (max (max (max (succ u6) (succ u8)) (succ u5)) (succ u7)) (succ u2), max (max (succ u6) (succ u8)) (succ u2), max (max (succ u5) (succ u7)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u6, u8, u2} m n A) (fun (_x : Matrix.{u6, u8, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u6, u8, u2} m n A) => Matrix.{u5, u7, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u6 u8) u5) u7) u2, u1, max (max u6 u8) u2, max (max u5 u7) u2} (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) (AddMonoid.toZero.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) (AddMonoid.toZero.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u6 u8) u5) u7) u2, u1, max (max u6 u8) u2, max (max u5 u7) u2} (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u6 u8) u2, max (max u5 u7) u2, max (max (max (max u6 u8) u5) u7) u2} R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u6 u8) u2, max (max u5 u7) u2, max (max (max (max u6 u8) u5) u7) u2} R R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u6 u8) u2, max (max u5 u7) u2} R R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u6, u8, u5, u7, u1, u2} m n m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 eₘ eₙ) M) (FunLike.coe.{max (max (max (max (succ u8) (succ u4)) (succ u7)) (succ u3)) (succ u2), max (max (succ u8) (succ u4)) (succ u2), max (max (succ u7) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u8, u4, u2} n o A) (fun (_x : Matrix.{u8, u4, u2} n o A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u8, u4, u2} n o A) => Matrix.{u7, u3, u2} n' o' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u4) u7) u3) u2, u1, max (max u8 u4) u2, max (max u7 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (SMulZeroClass.toSMul.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) (AddMonoid.toZero.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (AddCommMonoid.toAddMonoid.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) (AddMonoid.toAddZeroClass.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (AddCommMonoid.toAddMonoid.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) (AddMonoid.toZero.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (AddCommMonoid.toAddMonoid.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) (AddMonoid.toAddZeroClass.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (AddCommMonoid.toAddMonoid.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u4) u7) u3) u2, u1, max (max u8 u4) u2, max (max u7 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u4) u2, max (max u7 u3) u2, max (max (max (max u8 u4) u7) u3) u2} R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u4) u2, max (max u7 u3) u2, max (max (max (max u8 u4) u7) u3) u2} R R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u4) u2, max (max u7 u3) u2} R R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u4, u7, u3, u1, u2} n o n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 eₙ eₒ) N)) (FunLike.coe.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2), max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u6, u4, u2} m o A) (fun (_x : Matrix.{u6, u4, u2} m o A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u6, u4, u2} m o A) => Matrix.{u5, u3, u2} m' o' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (SMulZeroClass.toSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) (AddMonoid.toZero.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) (AddMonoid.toAddZeroClass.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) (AddMonoid.toZero.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) (AddMonoid.toAddZeroClass.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2} R R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u6, u4, u5, u3, u1, u2} m o m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 eₘ eₒ) (Matrix.mul.{u2, u6, u8, u4} m n o A _inst_4 (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) M N))
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_mul Matrix.reindexLinearEquiv_mulₓ'. -/
 theorem reindexLinearEquiv_mul [Fintype n] [Fintype n'] (eₘ : m ≃ m') (eₙ : n ≃ n') (eₒ : o ≃ o')
     (M : Matrix m n A) (N : Matrix n o A) :
@@ -167,7 +167,7 @@ theorem reindexLinearEquiv_mul [Fintype n] [Fintype n'] (eₘ : m ≃ m') (eₙ
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {o : Type.{u3}} {n' : Type.{u4}} (R : Type.{u5}) (A : Type.{u6}) [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u6} A] [_inst_3 : Module.{u5, u6} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))] [_inst_4 : Fintype.{u2} n] [_inst_5 : DecidableEq.{succ u3} o] (e₁ : Equiv.{succ u3, succ u2} o n) (e₂ : Equiv.{succ u3, succ u4} o n') (M : Matrix.{u1, u2, u6} m n A), Eq.{succ (max u1 u4 u6)} (Matrix.{u1, u4, u6} m n' A) (Matrix.mul.{u6, u1, u2, u4} m n n' A _inst_4 (Distrib.toHasMul.{u6} A (NonUnitalNonAssocSemiring.toDistrib.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) M (coeFn.{max (succ (max u3 u6)) (succ (max u2 u4 u6)), max (succ (max u3 u6)) (succ (max u2 u4 u6))} (LinearEquiv.{u5, u5, max u3 u6, max u2 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u3, u3, u6} o o A) (Matrix.{u2, u4, u6} n n' A) (Matrix.addCommMonoid.{u6, u3, u3} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u2, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u3, u3, u5} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u2, u4, u5} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3)) (fun (_x : LinearEquiv.{u5, u5, max u3 u6, max u2 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u3, u3, u6} o o A) (Matrix.{u2, u4, u6} n n' A) (Matrix.addCommMonoid.{u6, u3, u3} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u2, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u3, u3, u5} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u2, u4, u5} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3)) => (Matrix.{u3, u3, u6} o o A) -> (Matrix.{u2, u4, u6} n n' A)) (LinearEquiv.hasCoeToFun.{u5, u5, max u3 u6, max u2 u4 u6} R R (Matrix.{u3, u3, u6} o o A) (Matrix.{u2, u4, u6} n n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u6, u3, u3} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u2, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u3, u3, u5} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u2, u4, u5} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1)) (Matrix.reindexLinearEquiv.{u3, u3, u2, u4, u5, u6} o o n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3 e₁ e₂) (OfNat.ofNat.{max u3 u6} (Matrix.{u3, u3, u6} o o A) 1 (OfNat.mk.{max u3 u6} (Matrix.{u3, u3, u6} o o A) 1 (One.one.{max u3 u6} (Matrix.{u3, u3, u6} o o A) (Matrix.hasOne.{u6, u3} o A (fun (a : o) (b : o) => _inst_5 a b) (MulZeroClass.toHasZero.{u6} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (AddMonoidWithOne.toOne.{u6} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u6} A (NonAssocSemiring.toAddCommMonoidWithOne.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))))))))) (coeFn.{max (succ (max u1 u2 u6)) (succ (max u1 u4 u6)), max (succ (max u1 u2 u6)) (succ (max u1 u4 u6))} (LinearEquiv.{u5, u5, max u1 u2 u6, max u1 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u1, u2, u6} m n A) (Matrix.{u1, u4, u6} m n' A) (Matrix.addCommMonoid.{u6, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u1, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u1, u4, u5} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3)) (fun (_x : LinearEquiv.{u5, u5, max u1 u2 u6, max u1 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u1, u2, u6} m n A) (Matrix.{u1, u4, u6} m n' A) (Matrix.addCommMonoid.{u6, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u1, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u1, u4, u5} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3)) => (Matrix.{u1, u2, u6} m n A) -> (Matrix.{u1, u4, u6} m n' A)) (LinearEquiv.hasCoeToFun.{u5, u5, max u1 u2 u6, max u1 u4 u6} R R (Matrix.{u1, u2, u6} m n A) (Matrix.{u1, u4, u6} m n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u6, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u1, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u1, u4, u5} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u1, u4, u5, u6} m n m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3 (Equiv.refl.{succ u1} m) (Equiv.trans.{succ u2, succ u3, succ u4} n o n' (Equiv.symm.{succ u3, succ u2} o n e₁) e₂)) M)
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u6}} {o : Type.{u5}} {n' : Type.{u4}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))] [_inst_4 : Fintype.{u6} n] [_inst_5 : DecidableEq.{succ u5} o] (e₁ : Equiv.{succ u5, succ u6} o n) (e₂ : Equiv.{succ u5, succ u4} o n') (M : Matrix.{u3, u6, u2} m n A), Eq.{max (max (succ u3) (succ u4)) (succ u2)} (Matrix.{u3, u4, u2} m n' A) (Matrix.mul.{u2, u3, u6, u4} m n n' A _inst_4 (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) M (FunLike.coe.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u2), max (succ u5) (succ u2), max (max (succ u6) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u5, u5, u2} o o A) (fun (_x : Matrix.{u5, u5, u2} o o A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u5, u5, u2} o o A) => Matrix.{u6, u4, u2} n n' A) _x) (SMulHomClass.toFunLike.{max (max (max u6 u5) u4) u2, u1, max u5 u2, max (max u6 u4) u2} (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (SMulZeroClass.toSMul.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) (AddMonoid.toZero.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (AddCommMonoid.toAddMonoid.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) (AddMonoid.toAddZeroClass.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (AddCommMonoid.toAddMonoid.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) (AddMonoid.toZero.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) (AddMonoid.toAddZeroClass.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u6 u5) u4) u2, u1, max u5 u2, max (max u6 u4) u2} (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u5 u2, max (max u6 u4) u2, max (max (max u6 u5) u4) u2} R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u5 u2, max (max u6 u4) u2, max (max (max u6 u5) u4) u2} R R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u5 u2, max (max u6 u4) u2} R R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u5, u5, u6, u4, u1, u2} o o n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 e₁ e₂) (OfNat.ofNat.{max u5 u2} (Matrix.{u5, u5, u2} o o A) 1 (One.toOfNat1.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.one.{u2, u5} o A (fun (a : o) (b : o) => _inst_5 a b) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (Semiring.toOne.{u2} A _inst_2)))))) (FunLike.coe.{max (max (max (succ u3) (succ u6)) (succ u4)) (succ u2), max (max (succ u3) (succ u6)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u3, u6, u2} m n A) (fun (_x : Matrix.{u3, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u6, u2} m n A) => Matrix.{u3, u4, u2} m n' A) _x) (SMulHomClass.toFunLike.{max (max (max u3 u6) u4) u2, u1, max (max u3 u6) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (SMulZeroClass.toSMul.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) (AddMonoid.toZero.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) (AddMonoid.toZero.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u3 u6) u4) u2, u1, max (max u3 u6) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u6) u2, max (max u3 u4) u2, max (max (max u3 u6) u4) u2} R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u6) u2, max (max u3 u4) u2, max (max (max u3 u6) u4) u2} R R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u3 u6) u2, max (max u3 u4) u2} R R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u3, u6, u3, u4, u1, u2} m n m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 (Equiv.refl.{succ u3} m) (Equiv.trans.{succ u6, succ u5, succ u4} n o n' (Equiv.symm.{succ u5, succ u6} o n e₁) e₂)) M)
+  forall {m : Type.{u3}} {n : Type.{u6}} {o : Type.{u5}} {n' : Type.{u4}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))] [_inst_4 : Fintype.{u6} n] [_inst_5 : DecidableEq.{succ u5} o] (e₁ : Equiv.{succ u5, succ u6} o n) (e₂ : Equiv.{succ u5, succ u4} o n') (M : Matrix.{u3, u6, u2} m n A), Eq.{max (max (succ u3) (succ u4)) (succ u2)} (Matrix.{u3, u4, u2} m n' A) (Matrix.mul.{u2, u3, u6, u4} m n n' A _inst_4 (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) M (FunLike.coe.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u2), max (succ u5) (succ u2), max (max (succ u6) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u5, u5, u2} o o A) (fun (_x : Matrix.{u5, u5, u2} o o A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u5, u5, u2} o o A) => Matrix.{u6, u4, u2} n n' A) _x) (SMulHomClass.toFunLike.{max (max (max u6 u5) u4) u2, u1, max u5 u2, max (max u6 u4) u2} (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (SMulZeroClass.toSMul.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) (AddMonoid.toZero.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (AddCommMonoid.toAddMonoid.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) (AddMonoid.toAddZeroClass.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (AddCommMonoid.toAddMonoid.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) (AddMonoid.toZero.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) (AddMonoid.toAddZeroClass.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u6 u5) u4) u2, u1, max u5 u2, max (max u6 u4) u2} (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u5 u2, max (max u6 u4) u2, max (max (max u6 u5) u4) u2} R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u5 u2, max (max u6 u4) u2, max (max (max u6 u5) u4) u2} R R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u5 u2, max (max u6 u4) u2} R R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u5, u5, u6, u4, u1, u2} o o n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 e₁ e₂) (OfNat.ofNat.{max u5 u2} (Matrix.{u5, u5, u2} o o A) 1 (One.toOfNat1.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.one.{u2, u5} o A (fun (a : o) (b : o) => _inst_5 a b) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (Semiring.toOne.{u2} A _inst_2)))))) (FunLike.coe.{max (max (max (succ u3) (succ u6)) (succ u4)) (succ u2), max (max (succ u3) (succ u6)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u3, u6, u2} m n A) (fun (_x : Matrix.{u3, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u6, u2} m n A) => Matrix.{u3, u4, u2} m n' A) _x) (SMulHomClass.toFunLike.{max (max (max u3 u6) u4) u2, u1, max (max u3 u6) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (SMulZeroClass.toSMul.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) (AddMonoid.toZero.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) (AddMonoid.toZero.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u3 u6) u4) u2, u1, max (max u3 u6) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u6) u2, max (max u3 u4) u2, max (max (max u3 u6) u4) u2} R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u6) u2, max (max u3 u4) u2, max (max (max u3 u6) u4) u2} R R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u3 u6) u2, max (max u3 u4) u2} R R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u3, u6, u3, u4, u1, u2} m n m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 (Equiv.refl.{succ u3} m) (Equiv.trans.{succ u6, succ u5, succ u4} n o n' (Equiv.symm.{succ u5, succ u6} o n e₁) e₂)) M)
 Case conversion may be inaccurate. Consider using '#align matrix.mul_reindex_linear_equiv_one Matrix.mul_reindexLinearEquiv_oneₓ'. -/
 theorem mul_reindexLinearEquiv_one [Fintype n] [DecidableEq o] (e₁ : o ≃ n) (e₂ : o ≃ n')
     (M : Matrix m n A) :
@@ -203,7 +203,7 @@ def reindexAlgEquiv (e : m ≃ n) : Matrix m m R ≃ₐ[R] Matrix n n R :=
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : DecidableEq.{succ u1} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n) (M : Matrix.{u1, u1, u3} m m R), Eq.{succ (max u2 u3)} (Matrix.{u2, u2, u3} n n R) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (AlgEquiv.hasCoeToFun.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (coeFn.{max 1 (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u2 u3)) (succ (max u1 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (Equiv.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) (fun (_x : Equiv.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (Equiv.hasCoeToFun.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) (Matrix.reindex.{u3, u2, u1, u1, u2} n m m n R e e) M)
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : DecidableEq.{succ u3} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u3, succ u2} m n) (M : Matrix.{u3, u3, u1} m m R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) M) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u2)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.{u3, u3, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.reindex.{u1, u2, u3, u3, u2} n m m n R e e) M)
+  forall {m : Type.{u3}} {n : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : DecidableEq.{succ u3} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u3, succ u2} m n) (M : Matrix.{u3, u3, u1} m m R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) M) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u2)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.{u3, u3, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.reindex.{u1, u2, u3, u3, u2} n m m n R e e) M)
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_alg_equiv_apply Matrix.reindexAlgEquiv_applyₓ'. -/
 @[simp]
 theorem reindexAlgEquiv_apply (e : m ≃ n) (M : Matrix m m R) :
@@ -237,7 +237,7 @@ theorem reindexAlgEquiv_refl : reindexAlgEquiv R (Equiv.refl m) = AlgEquiv.refl
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : DecidableEq.{succ u1} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n) (M : Matrix.{u1, u1, u3} m m R) (N : Matrix.{u1, u1, u3} m m R), Eq.{succ (max u2 u3)} (Matrix.{u2, u2, u3} n n R) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (AlgEquiv.hasCoeToFun.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) (Matrix.mul.{u3, u1, u1, u1} m m m R _inst_3 (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) M N)) (Matrix.mul.{u3, u2, u2, u2} n n n R _inst_2 (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (AlgEquiv.hasCoeToFun.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (AlgEquiv.hasCoeToFun.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) N))
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : DecidableEq.{succ u3} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u3, succ u2} m n) (M : Matrix.{u3, u3, u1} m m R) (N : Matrix.{u3, u3, u1} m m R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) (Matrix.mul.{u1, u3, u3, u3} m m m R _inst_3 (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) M N)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) (Matrix.mul.{u1, u3, u3, u3} m m m R _inst_3 (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) M N)) (Matrix.mul.{u1, u2, u2, u2} n n n R _inst_2 (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) N))
+  forall {m : Type.{u3}} {n : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : DecidableEq.{succ u3} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u3, succ u2} m n) (M : Matrix.{u3, u3, u1} m m R) (N : Matrix.{u3, u3, u1} m m R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) (Matrix.mul.{u1, u3, u3, u3} m m m R _inst_3 (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) M N)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) (Matrix.mul.{u1, u3, u3, u3} m m m R _inst_3 (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) M N)) (Matrix.mul.{u1, u2, u2, u2} n n n R _inst_2 (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) N))
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_alg_equiv_mul Matrix.reindexAlgEquiv_mulₓ'. -/
 theorem reindexAlgEquiv_mul (e : m ≃ n) (M : Matrix m m R) (N : Matrix m m R) :
     reindexAlgEquiv R e (M ⬝ N) = reindexAlgEquiv R e M ⬝ reindexAlgEquiv R e N :=
@@ -250,7 +250,7 @@ end Algebra
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u1} m] [_inst_3 : DecidableEq.{succ u1} m] [_inst_4 : Fintype.{u2} n] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n) (M : Matrix.{u1, u1, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u2} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (LinearEquiv.{u3, u3, max u1 u3, max u2 u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} m m R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u2, u2} n n R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u2, u2, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (fun (_x : LinearEquiv.{u3, u3, max u1 u3, max u2 u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} m m R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u2, u2} n n R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u2, u2, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u3, max u2 u3} R R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} m m R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u2, u2} n n R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u2, u2, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.reindexLinearEquiv.{u1, u1, u2, u2, u3, u3} m m n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) e e) M)) (Matrix.det.{u3, u1} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 M)
 but is expected to have type
-  forall {m : Type.{u2}} {n : Type.{u1}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u2} m] [_inst_3 : DecidableEq.{succ u2} m] [_inst_4 : Fintype.{u1} n] [_inst_5 : DecidableEq.{succ u1} n] (e : Equiv.{succ u2, succ u1} m n) (M : Matrix.{u2, u2, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u1} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Matrix.{u2, u2, u3} m m R) (fun (_x : Matrix.{u2, u2, u3} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u3} m m R) => Matrix.{u1, u1, u3} n n R) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (SMulZeroClass.toSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toZero.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toAddZeroClass.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u2 u3, max u1 u3} R R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (Matrix.reindexLinearEquiv.{u2, u2, u1, u1, u3, u3} m m n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) e e) M)) (Matrix.det.{u3, u2} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 M)
+  forall {m : Type.{u2}} {n : Type.{u1}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u2} m] [_inst_3 : DecidableEq.{succ u2} m] [_inst_4 : Fintype.{u1} n] [_inst_5 : DecidableEq.{succ u1} n] (e : Equiv.{succ u2, succ u1} m n) (M : Matrix.{u2, u2, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u1} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Matrix.{u2, u2, u3} m m R) (fun (_x : Matrix.{u2, u2, u3} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u2, u2, u3} m m R) => Matrix.{u1, u1, u3} n n R) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (SMulZeroClass.toSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toZero.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toAddZeroClass.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u2 u3, max u1 u3} R R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (Matrix.reindexLinearEquiv.{u2, u2, u1, u1, u3, u3} m m n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) e e) M)) (Matrix.det.{u3, u2} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 M)
 Case conversion may be inaccurate. Consider using '#align matrix.det_reindex_linear_equiv_self Matrix.det_reindexLinearEquiv_selfₓ'. -/
 /-- Reindexing both indices along the same equivalence preserves the determinant.
 
@@ -265,7 +265,7 @@ theorem det_reindexLinearEquiv_self [CommRing R] [Fintype m] [DecidableEq m] [Fi
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u1} m] [_inst_3 : DecidableEq.{succ u1} m] [_inst_4 : Fintype.{u2} n] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n) (A : Matrix.{u1, u1, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u2} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.algebra.{u3, u2, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (fun (_x : AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.algebra.{u3, u2, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (AlgEquiv.hasCoeToFun.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.algebra.{u3, u2, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_4 _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (fun (a : n) (b : n) => _inst_5 a b) e) A)) (Matrix.det.{u3, u1} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 A)
 but is expected to have type
-  forall {m : Type.{u2}} {n : Type.{u1}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u2} m] [_inst_3 : DecidableEq.{succ u2} m] [_inst_4 : Fintype.{u1} n] [_inst_5 : DecidableEq.{succ u1} n] (e : Equiv.{succ u2, succ u1} m n) (A : Matrix.{u2, u2, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u1} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), max (succ u1) (succ u3)} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.{u2, u2, u3} m m R) (fun (_x : Matrix.{u2, u2, u3} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u3} m m R) => Matrix.{u1, u1, u3} n n R) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (SMulZeroClass.toSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))) (Algebra.toModule.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toZero.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toAddZeroClass.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)))))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))) (Algebra.toModule.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))) (Algebra.toModule.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AlgEquivClass.toAlgHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AlgEquiv.instAlgEquivClassAlgEquiv.{u3, max u2 u3, max u1 u3} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))))))) (Matrix.reindexAlgEquiv.{u2, u1, u3} m n R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_4 _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (fun (a : n) (b : n) => _inst_5 a b) e) A)) (Matrix.det.{u3, u2} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 A)
+  forall {m : Type.{u2}} {n : Type.{u1}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u2} m] [_inst_3 : DecidableEq.{succ u2} m] [_inst_4 : Fintype.{u1} n] [_inst_5 : DecidableEq.{succ u1} n] (e : Equiv.{succ u2, succ u1} m n) (A : Matrix.{u2, u2, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u1} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), max (succ u1) (succ u3)} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.{u2, u2, u3} m m R) (fun (_x : Matrix.{u2, u2, u3} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2187 : Matrix.{u2, u2, u3} m m R) => Matrix.{u1, u1, u3} n n R) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (SMulZeroClass.toSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))) (Algebra.toModule.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toZero.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toAddZeroClass.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)))))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))) (Algebra.toModule.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))) (Algebra.toModule.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AlgEquivClass.toAlgHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AlgEquiv.instAlgEquivClassAlgEquiv.{u3, max u2 u3, max u1 u3} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))))))) (Matrix.reindexAlgEquiv.{u2, u1, u3} m n R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_4 _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (fun (a : n) (b : n) => _inst_5 a b) e) A)) (Matrix.det.{u3, u2} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 A)
 Case conversion may be inaccurate. Consider using '#align matrix.det_reindex_alg_equiv Matrix.det_reindexAlgEquivₓ'. -/
 /-- Reindexing both indices along the same equivalence preserves the determinant.
 
Diff
@@ -60,7 +60,7 @@ def reindexLinearEquiv (eₘ : m ≃ m') (eₙ : n ≃ n') : Matrix m n A ≃ₗ
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} {m' : Type.{u3}} {n' : Type.{u4}} (R : Type.{u5}) (A : Type.{u6}) [_inst_1 : Semiring.{u5} R] [_inst_2 : AddCommMonoid.{u6} A] [_inst_3 : Module.{u5, u6} R A _inst_1 _inst_2] (eₘ : Equiv.{succ u1, succ u3} m m') (eₙ : Equiv.{succ u2, succ u4} n n') (M : Matrix.{u1, u2, u6} m n A), Eq.{succ (max u3 u4 u6)} (Matrix.{u3, u4, u6} m' n' A) (coeFn.{max (succ (max u1 u2 u6)) (succ (max u3 u4 u6)), max (succ (max u1 u2 u6)) (succ (max u3 u4 u6))} (LinearEquiv.{u5, u5, max u1 u2 u6, max u3 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A) (Matrix.addCommMonoid.{u6, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u6, u3, u4} m' n' A _inst_2) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u6, u3, u4, u5} m' n' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u5, u5, max u1 u2 u6, max u3 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A) (Matrix.addCommMonoid.{u6, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u6, u3, u4} m' n' A _inst_2) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u6, u3, u4, u5} m' n' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u2, u6} m n A) -> (Matrix.{u3, u4, u6} m' n' A)) (LinearEquiv.hasCoeToFun.{u5, u5, max u1 u2 u6, max u3 u4 u6} R R (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u6, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u6, u3, u4} m' n' A _inst_2) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u6, u3, u4, u5} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u3, u4, u5, u6} m n m' n' R A _inst_1 _inst_2 _inst_3 eₘ eₙ) M) (coeFn.{max 1 (max (succ (max u1 u2 u6)) (succ (max u3 u4 u6))) (succ (max u3 u4 u6)) (succ (max u1 u2 u6)), max (succ (max u1 u2 u6)) (succ (max u3 u4 u6))} (Equiv.{succ (max u1 u2 u6), succ (max u3 u4 u6)} (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A)) (fun (_x : Equiv.{succ (max u1 u2 u6), succ (max u3 u4 u6)} (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A)) => (Matrix.{u1, u2, u6} m n A) -> (Matrix.{u3, u4, u6} m' n' A)) (Equiv.hasCoeToFun.{succ (max u1 u2 u6), succ (max u3 u4 u6)} (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A)) (Matrix.reindex.{u6, u3, u1, u2, u4} m' m n n' A eₘ eₙ) M)
 but is expected to have type
-  forall {m : Type.{u6}} {n : Type.{u4}} {m' : Type.{u5}} {n' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (eₘ : Equiv.{succ u6, succ u5} m m') (eₙ : Equiv.{succ u4, succ u3} n n') (M : Matrix.{u6, u4, u2} m n A), Eq.{max (max (succ u5) (succ u3)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) M) (FunLike.coe.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2), max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u6, u4, u2} m n A) (fun (_x : Matrix.{u6, u4, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (AddMonoid.toZero.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (AddMonoid.toZero.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2} R R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u6, u4, u5, u3, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 eₘ eₙ) M) (FunLike.coe.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2), max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (Equiv.{max (max (succ u2) (succ u4)) (succ u6), max (max (succ u2) (succ u3)) (succ u5)} (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A)) (Matrix.{u6, u4, u2} m n A) (fun (_x : Matrix.{u6, u4, u2} m n A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) _x) (Equiv.instFunLikeEquiv.{max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A)) (Matrix.reindex.{u2, u5, u6, u4, u3} m' m n n' A eₘ eₙ) M)
+  forall {m : Type.{u6}} {n : Type.{u4}} {m' : Type.{u5}} {n' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (eₘ : Equiv.{succ u6, succ u5} m m') (eₙ : Equiv.{succ u4, succ u3} n n') (M : Matrix.{u6, u4, u2} m n A), Eq.{max (max (succ u5) (succ u3)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) M) (FunLike.coe.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2), max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u6, u4, u2} m n A) (fun (_x : Matrix.{u6, u4, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (AddMonoid.toZero.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (AddMonoid.toZero.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2} R R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u6, u4, u5, u3, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 eₘ eₙ) M) (FunLike.coe.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2), max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (Equiv.{max (max (succ u2) (succ u4)) (succ u6), max (max (succ u2) (succ u3)) (succ u5)} (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A)) (Matrix.{u6, u4, u2} m n A) (fun (_x : Matrix.{u6, u4, u2} m n A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) _x) (Equiv.instFunLikeEquiv.{max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A)) (Matrix.reindex.{u2, u5, u6, u4, u3} m' m n n' A eₘ eₙ) M)
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_apply Matrix.reindexLinearEquiv_applyₓ'. -/
 @[simp]
 theorem reindexLinearEquiv_apply (eₘ : m ≃ m') (eₙ : n ≃ n') (M : Matrix m n A) :
@@ -203,7 +203,7 @@ def reindexAlgEquiv (e : m ≃ n) : Matrix m m R ≃ₐ[R] Matrix n n R :=
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : DecidableEq.{succ u1} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n) (M : Matrix.{u1, u1, u3} m m R), Eq.{succ (max u2 u3)} (Matrix.{u2, u2, u3} n n R) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (AlgEquiv.hasCoeToFun.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (coeFn.{max 1 (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u2 u3)) (succ (max u1 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (Equiv.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) (fun (_x : Equiv.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (Equiv.hasCoeToFun.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) (Matrix.reindex.{u3, u2, u1, u1, u2} n m m n R e e) M)
 but is expected to have type
-  forall {m : Type.{u3}} {n : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : DecidableEq.{succ u3} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u3, succ u2} m n) (M : Matrix.{u3, u3, u1} m m R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) M) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u2)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.{u3, u3, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.reindex.{u1, u2, u3, u3, u2} n m m n R e e) M)
+  forall {m : Type.{u3}} {n : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : DecidableEq.{succ u3} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u3, succ u2} m n) (M : Matrix.{u3, u3, u1} m m R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) M) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u2)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.{u3, u3, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.812 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.reindex.{u1, u2, u3, u3, u2} n m m n R e e) M)
 Case conversion may be inaccurate. Consider using '#align matrix.reindex_alg_equiv_apply Matrix.reindexAlgEquiv_applyₓ'. -/
 @[simp]
 theorem reindexAlgEquiv_apply (e : m ≃ n) (M : Matrix m m R) :
Diff
@@ -250,7 +250,7 @@ end Algebra
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u1} m] [_inst_3 : DecidableEq.{succ u1} m] [_inst_4 : Fintype.{u2} n] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n) (M : Matrix.{u1, u1, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u2} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (LinearEquiv.{u3, u3, max u1 u3, max u2 u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} m m R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u2, u2} n n R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u2, u2, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (fun (_x : LinearEquiv.{u3, u3, max u1 u3, max u2 u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} m m R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u2, u2} n n R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u2, u2, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u3, max u2 u3} R R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} m m R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u2, u2} n n R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u2, u2, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.reindexLinearEquiv.{u1, u1, u2, u2, u3, u3} m m n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) e e) M)) (Matrix.det.{u3, u1} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 M)
 but is expected to have type
-  forall {m : Type.{u2}} {n : Type.{u1}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u2} m] [_inst_3 : DecidableEq.{succ u2} m] [_inst_4 : Fintype.{u1} n] [_inst_5 : DecidableEq.{succ u1} n] (e : Equiv.{succ u2, succ u1} m n) (M : Matrix.{u2, u2, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u1} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Matrix.{u2, u2, u3} m m R) (fun (_x : Matrix.{u2, u2, u3} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u3} m m R) => Matrix.{u1, u1, u3} n n R) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (SMulZeroClass.toSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toZero.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toAddZeroClass.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u2 u3, max u1 u3} R R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (Matrix.reindexLinearEquiv.{u2, u2, u1, u1, u3, u3} m m n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) e e) M)) (Matrix.det.{u3, u2} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 M)
+  forall {m : Type.{u2}} {n : Type.{u1}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u2} m] [_inst_3 : DecidableEq.{succ u2} m] [_inst_4 : Fintype.{u1} n] [_inst_5 : DecidableEq.{succ u1} n] (e : Equiv.{succ u2, succ u1} m n) (M : Matrix.{u2, u2, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u1} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Matrix.{u2, u2, u3} m m R) (fun (_x : Matrix.{u2, u2, u3} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u3} m m R) => Matrix.{u1, u1, u3} n n R) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (SMulZeroClass.toSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toZero.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toAddZeroClass.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u2 u3, max u1 u3} R R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (Matrix.reindexLinearEquiv.{u2, u2, u1, u1, u3, u3} m m n n R R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) e e) M)) (Matrix.det.{u3, u2} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 M)
 Case conversion may be inaccurate. Consider using '#align matrix.det_reindex_linear_equiv_self Matrix.det_reindexLinearEquiv_selfₓ'. -/
 /-- Reindexing both indices along the same equivalence preserves the determinant.
 
Diff
@@ -250,7 +250,7 @@ end Algebra
 lean 3 declaration is
   forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u1} m] [_inst_3 : DecidableEq.{succ u1} m] [_inst_4 : Fintype.{u2} n] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n) (M : Matrix.{u1, u1, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u2} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (LinearEquiv.{u3, u3, max u1 u3, max u2 u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} m m R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u2, u2} n n R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u2, u2, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (fun (_x : LinearEquiv.{u3, u3, max u1 u3, max u2 u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} m m R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u2, u2} n n R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u2, u2, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u3, max u2 u3} R R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} m m R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u2, u2} n n R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u2, u2, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.reindexLinearEquiv.{u1, u1, u2, u2, u3, u3} m m n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) e e) M)) (Matrix.det.{u3, u1} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 M)
 but is expected to have type
-  forall {m : Type.{u2}} {n : Type.{u1}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u2} m] [_inst_3 : DecidableEq.{succ u2} m] [_inst_4 : Fintype.{u1} n] [_inst_5 : DecidableEq.{succ u1} n] (e : Equiv.{succ u2, succ u1} m n) (M : Matrix.{u2, u2, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u1} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Matrix.{u2, u2, u3} m m R) (fun (_x : Matrix.{u2, u2, u3} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u3} m m R) => Matrix.{u1, u1, u3} n n R) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (SMulZeroClass.toSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toZero.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toAddZeroClass.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u2 u3, max u1 u3} R R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (Matrix.reindexLinearEquiv.{u2, u2, u1, u1, u3, u3} m m n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) e e) M)) (Matrix.det.{u3, u2} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 M)
+  forall {m : Type.{u2}} {n : Type.{u1}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u2} m] [_inst_3 : DecidableEq.{succ u2} m] [_inst_4 : Fintype.{u1} n] [_inst_5 : DecidableEq.{succ u1} n] (e : Equiv.{succ u2, succ u1} m n) (M : Matrix.{u2, u2, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u1} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Matrix.{u2, u2, u3} m m R) (fun (_x : Matrix.{u2, u2, u3} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u3} m m R) => Matrix.{u1, u1, u3} n n R) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (SMulZeroClass.toSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toZero.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toAddZeroClass.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u2 u3, max u1 u3} R R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (Matrix.reindexLinearEquiv.{u2, u2, u1, u1, u3, u3} m m n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) e e) M)) (Matrix.det.{u3, u2} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 M)
 Case conversion may be inaccurate. Consider using '#align matrix.det_reindex_linear_equiv_self Matrix.det_reindexLinearEquiv_selfₓ'. -/
 /-- Reindexing both indices along the same equivalence preserves the determinant.
 
Diff
@@ -4,7 +4,7 @@ Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen
 
 ! This file was ported from Lean 3 source module linear_algebra.matrix.reindex
-! leanprover-community/mathlib commit 1cfdf5f34e1044ecb65d10be753008baaf118edf
+! leanprover-community/mathlib commit 86d1873c01a723aba6788f0b9051ae3d23b4c1c3
 ! Please do not edit these lines, except to modify the commit id
 ! if you have ported upstream changes.
 -/
@@ -13,6 +13,9 @@ import Mathbin.LinearAlgebra.Matrix.Determinant
 /-!
 # Changing the index type of a matrix
 
+> THIS FILE IS SYNCHRONIZED WITH MATHLIB4.
+> Any changes to this file require a corresponding PR to mathlib4.
+
 This file concerns the map `matrix.reindex`, mapping a `m` by `n` matrix
 to an `m'` by `n'` matrix, as long as `m ≃ m'` and `n ≃ n'`.
 
Diff
@@ -43,6 +43,7 @@ section AddCommMonoid
 
 variable [Semiring R] [AddCommMonoid A] [Module R A]
 
+#print Matrix.reindexLinearEquiv /-
 /-- The natural map that reindexes a matrix's rows and columns with equivalent types,
 `matrix.reindex`, is a linear equivalence. -/
 def reindexLinearEquiv (eₘ : m ≃ m') (eₙ : n ≃ n') : Matrix m n A ≃ₗ[R] Matrix m' n' A :=
@@ -50,25 +51,50 @@ def reindexLinearEquiv (eₘ : m ≃ m') (eₙ : n ≃ n') : Matrix m n A ≃ₗ
     map_add' := fun _ _ => rfl
     map_smul' := fun _ _ => rfl }
 #align matrix.reindex_linear_equiv Matrix.reindexLinearEquiv
+-/
 
+/- warning: matrix.reindex_linear_equiv_apply -> Matrix.reindexLinearEquiv_apply is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {m' : Type.{u3}} {n' : Type.{u4}} (R : Type.{u5}) (A : Type.{u6}) [_inst_1 : Semiring.{u5} R] [_inst_2 : AddCommMonoid.{u6} A] [_inst_3 : Module.{u5, u6} R A _inst_1 _inst_2] (eₘ : Equiv.{succ u1, succ u3} m m') (eₙ : Equiv.{succ u2, succ u4} n n') (M : Matrix.{u1, u2, u6} m n A), Eq.{succ (max u3 u4 u6)} (Matrix.{u3, u4, u6} m' n' A) (coeFn.{max (succ (max u1 u2 u6)) (succ (max u3 u4 u6)), max (succ (max u1 u2 u6)) (succ (max u3 u4 u6))} (LinearEquiv.{u5, u5, max u1 u2 u6, max u3 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A) (Matrix.addCommMonoid.{u6, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u6, u3, u4} m' n' A _inst_2) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u6, u3, u4, u5} m' n' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u5, u5, max u1 u2 u6, max u3 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A) (Matrix.addCommMonoid.{u6, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u6, u3, u4} m' n' A _inst_2) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u6, u3, u4, u5} m' n' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u2, u6} m n A) -> (Matrix.{u3, u4, u6} m' n' A)) (LinearEquiv.hasCoeToFun.{u5, u5, max u1 u2 u6, max u3 u4 u6} R R (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u6, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u6, u3, u4} m' n' A _inst_2) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u6, u3, u4, u5} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u3, u4, u5, u6} m n m' n' R A _inst_1 _inst_2 _inst_3 eₘ eₙ) M) (coeFn.{max 1 (max (succ (max u1 u2 u6)) (succ (max u3 u4 u6))) (succ (max u3 u4 u6)) (succ (max u1 u2 u6)), max (succ (max u1 u2 u6)) (succ (max u3 u4 u6))} (Equiv.{succ (max u1 u2 u6), succ (max u3 u4 u6)} (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A)) (fun (_x : Equiv.{succ (max u1 u2 u6), succ (max u3 u4 u6)} (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A)) => (Matrix.{u1, u2, u6} m n A) -> (Matrix.{u3, u4, u6} m' n' A)) (Equiv.hasCoeToFun.{succ (max u1 u2 u6), succ (max u3 u4 u6)} (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A)) (Matrix.reindex.{u6, u3, u1, u2, u4} m' m n n' A eₘ eₙ) M)
+but is expected to have type
+  forall {m : Type.{u6}} {n : Type.{u4}} {m' : Type.{u5}} {n' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (eₘ : Equiv.{succ u6, succ u5} m m') (eₙ : Equiv.{succ u4, succ u3} n n') (M : Matrix.{u6, u4, u2} m n A), Eq.{max (max (succ u5) (succ u3)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) M) (FunLike.coe.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2), max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u6, u4, u2} m n A) (fun (_x : Matrix.{u6, u4, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (AddMonoid.toZero.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (AddMonoid.toZero.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2} R R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u6, u4, u5, u3, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 eₘ eₙ) M) (FunLike.coe.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2), max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (Equiv.{max (max (succ u2) (succ u4)) (succ u6), max (max (succ u2) (succ u3)) (succ u5)} (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A)) (Matrix.{u6, u4, u2} m n A) (fun (_x : Matrix.{u6, u4, u2} m n A) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{u6, u4, u2} m n A) => Matrix.{u5, u3, u2} m' n' A) _x) (Equiv.instFunLikeEquiv.{max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A)) (Matrix.reindex.{u2, u5, u6, u4, u3} m' m n n' A eₘ eₙ) M)
+Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_apply Matrix.reindexLinearEquiv_applyₓ'. -/
 @[simp]
 theorem reindexLinearEquiv_apply (eₘ : m ≃ m') (eₙ : n ≃ n') (M : Matrix m n A) :
     reindexLinearEquiv R A eₘ eₙ M = reindex eₘ eₙ M :=
   rfl
 #align matrix.reindex_linear_equiv_apply Matrix.reindexLinearEquiv_apply
 
+/- warning: matrix.reindex_linear_equiv_symm -> Matrix.reindexLinearEquiv_symm is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {m' : Type.{u3}} {n' : Type.{u4}} (R : Type.{u5}) (A : Type.{u6}) [_inst_1 : Semiring.{u5} R] [_inst_2 : AddCommMonoid.{u6} A] [_inst_3 : Module.{u5, u6} R A _inst_1 _inst_2] (eₘ : Equiv.{succ u1, succ u3} m m') (eₙ : Equiv.{succ u2, succ u4} n n'), Eq.{max (succ (max u3 u4 u6)) (succ (max u1 u2 u6))} (LinearEquiv.{u5, u5, max u3 u4 u6, max u1 u2 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u3, u4, u6} m' n' A) (Matrix.{u1, u2, u6} m n A) (Matrix.addCommMonoid.{u6, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u6, u1, u2} m n A _inst_2) (Matrix.module.{u6, u3, u4, u5} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 _inst_2 _inst_3)) (LinearEquiv.symm.{u5, u5, max u1 u2 u6, max u3 u4 u6} R R (Matrix.{u1, u2, u6} m n A) (Matrix.{u3, u4, u6} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u6, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u6, u3, u4} m' n' A _inst_2) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u6, u3, u4, u5} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.reindexLinearEquiv.{u1, u2, u3, u4, u5, u6} m n m' n' R A _inst_1 _inst_2 _inst_3 eₘ eₙ)) (Matrix.reindexLinearEquiv.{u3, u4, u1, u2, u5, u6} m' n' m n R A _inst_1 _inst_2 _inst_3 (Equiv.symm.{succ u1, succ u3} m m' eₘ) (Equiv.symm.{succ u2, succ u4} n n' eₙ))
+but is expected to have type
+  forall {m : Type.{u6}} {n : Type.{u4}} {m' : Type.{u5}} {n' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (eₘ : Equiv.{succ u6, succ u5} m m') (eₙ : Equiv.{succ u4, succ u3} n n'), Eq.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u5 u3) u2, max (max u6 u4) u2} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u3, u2} m' n' A) (Matrix.{u6, u4, u2} m n A) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3)) (LinearEquiv.symm.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2} R R (Matrix.{u6, u4, u2} m n A) (Matrix.{u5, u3, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m n A _inst_2) (Matrix.addCommMonoid.{u2, u5, u3} m' n' A _inst_2) (Matrix.module.{u2, u6, u4, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u5, u3, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.reindexLinearEquiv.{u6, u4, u5, u3, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 eₘ eₙ)) (Matrix.reindexLinearEquiv.{u5, u3, u6, u4, u1, u2} m' n' m n R A _inst_1 _inst_2 _inst_3 (Equiv.symm.{succ u6, succ u5} m m' eₘ) (Equiv.symm.{succ u4, succ u3} n n' eₙ))
+Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_symm Matrix.reindexLinearEquiv_symmₓ'. -/
 @[simp]
 theorem reindexLinearEquiv_symm (eₘ : m ≃ m') (eₙ : n ≃ n') :
     (reindexLinearEquiv R A eₘ eₙ).symm = reindexLinearEquiv R A eₘ.symm eₙ.symm :=
   rfl
 #align matrix.reindex_linear_equiv_symm Matrix.reindexLinearEquiv_symm
 
+/- warning: matrix.reindex_linear_equiv_refl_refl -> Matrix.reindexLinearEquiv_refl_refl is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) (A : Type.{u4}) [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u4} A] [_inst_3 : Module.{u3, u4} R A _inst_1 _inst_2], Eq.{succ (max u1 u2 u4)} (LinearEquiv.{u3, u3, max u1 u2 u4, max u1 u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Matrix.{u1, u2, u4} m n A) (Matrix.{u1, u2, u4} m n A) (Matrix.addCommMonoid.{u4, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u4, u1, u2} m n A _inst_2) (Matrix.module.{u4, u1, u2, u3} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u4, u1, u2, u3} m n R A _inst_1 _inst_2 _inst_3)) (Matrix.reindexLinearEquiv.{u1, u2, u1, u2, u3, u4} m n m n R A _inst_1 _inst_2 _inst_3 (Equiv.refl.{succ u1} m) (Equiv.refl.{succ u2} n)) (LinearEquiv.refl.{u3, max u1 u2 u4} R (Matrix.{u1, u2, u4} m n A) _inst_1 (Matrix.addCommMonoid.{u4, u1, u2} m n A _inst_2) (Matrix.module.{u4, u1, u2, u3} m n R A _inst_1 _inst_2 _inst_3))
+but is expected to have type
+  forall {m : Type.{u4}} {n : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2], Eq.{max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u3) u4, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u3, u2} m n A) (Matrix.{u4, u3, u2} m n A) (Matrix.addCommMonoid.{u2, u4, u3} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m n A _inst_2) (Matrix.module.{u2, u4, u3, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m n R A _inst_1 _inst_2 _inst_3)) (Matrix.reindexLinearEquiv.{u4, u3, u4, u3, u1, u2} m n m n R A _inst_1 _inst_2 _inst_3 (Equiv.refl.{succ u4} m) (Equiv.refl.{succ u3} n)) (LinearEquiv.refl.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m n A _inst_2) (Matrix.module.{u2, u4, u3, u1} m n R A _inst_1 _inst_2 _inst_3))
+Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_refl_refl Matrix.reindexLinearEquiv_refl_reflₓ'. -/
 @[simp]
 theorem reindexLinearEquiv_refl_refl :
     reindexLinearEquiv R A (Equiv.refl m) (Equiv.refl n) = LinearEquiv.refl R _ :=
   LinearEquiv.ext fun _ => rfl
 #align matrix.reindex_linear_equiv_refl_refl Matrix.reindexLinearEquiv_refl_refl
 
+/- warning: matrix.reindex_linear_equiv_trans -> Matrix.reindexLinearEquiv_trans is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {m' : Type.{u3}} {n' : Type.{u4}} {m'' : Type.{u5}} {n'' : Type.{u6}} (R : Type.{u7}) (A : Type.{u8}) [_inst_1 : Semiring.{u7} R] [_inst_2 : AddCommMonoid.{u8} A] [_inst_3 : Module.{u7, u8} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u1, succ u3} m m') (e₂ : Equiv.{succ u2, succ u4} n n') (e₁' : Equiv.{succ u3, succ u5} m' m'') (e₂' : Equiv.{succ u4, succ u6} n' n''), Eq.{max (succ (max u1 u2 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) (LinearEquiv.trans.{u7, u7, u7, max u1 u2 u8, max u3 u4 u8, max u5 u6 u8} R R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) _inst_1 _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomCompTriple.right_ids.{u7, u7} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1))) (RingHomCompTriple.right_ids.{u7, u7} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1))) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.reindexLinearEquiv.{u1, u2, u3, u4, u7, u8} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂) (Matrix.reindexLinearEquiv.{u3, u4, u5, u6, u7, u8} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂')) (Matrix.reindexLinearEquiv.{u1, u2, u5, u6, u7, u8} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u1, succ u3, succ u5} m m' m'' e₁ e₁') (Equiv.trans.{succ u2, succ u4, succ u6} n n' n'' e₂ e₂'))
+but is expected to have type
+  forall {m : Type.{u8}} {n : Type.{u6}} {m' : Type.{u7}} {n' : Type.{u5}} {m'' : Type.{u4}} {n'' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u8, succ u7} m m') (e₂ : Equiv.{succ u6, succ u5} n n') (e₁' : Equiv.{succ u7, succ u4} m' m'') (e₂' : Equiv.{succ u5, succ u3} n' n''), Eq.{max (max (max (max (succ u8) (succ u6)) (succ u4)) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (LinearEquiv.trans.{u1, u1, u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max u2 u3) u4} R R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomCompTriple.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomCompTriple.ids.{u1, u1} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1))) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.reindexLinearEquiv.{u8, u6, u7, u5, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂) (Matrix.reindexLinearEquiv.{u7, u5, u4, u3, u1, u2} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂')) (Matrix.reindexLinearEquiv.{u8, u6, u4, u3, u1, u2} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u8, succ u7, succ u4} m m' m'' e₁ e₁') (Equiv.trans.{succ u6, succ u5, succ u3} n n' n'' e₂ e₂'))
+Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_trans Matrix.reindexLinearEquiv_transₓ'. -/
 theorem reindexLinearEquiv_trans (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m' ≃ m'') (e₂' : n' ≃ n'') :
     (reindexLinearEquiv R A e₁ e₂).trans (reindexLinearEquiv R A e₁' e₂') =
       (reindexLinearEquiv R A (e₁.trans e₁') (e₂.trans e₂') : _ ≃ₗ[R] _) :=
@@ -77,6 +103,12 @@ theorem reindexLinearEquiv_trans (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m'
   rfl
 #align matrix.reindex_linear_equiv_trans Matrix.reindexLinearEquiv_trans
 
+/- warning: matrix.reindex_linear_equiv_comp -> Matrix.reindexLinearEquiv_comp is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {m' : Type.{u3}} {n' : Type.{u4}} {m'' : Type.{u5}} {n'' : Type.{u6}} (R : Type.{u7}) (A : Type.{u8}) [_inst_1 : Semiring.{u7} R] [_inst_2 : AddCommMonoid.{u8} A] [_inst_3 : Module.{u7, u8} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u1, succ u3} m m') (e₂ : Equiv.{succ u2, succ u4} n n') (e₁' : Equiv.{succ u3, succ u5} m' m'') (e₂' : Equiv.{succ u4, succ u6} n' n''), Eq.{max (succ (max u1 u2 u8)) (succ (max u5 u6 u8))} ((Matrix.{u1, u2, u8} m n A) -> (Matrix.{u5, u6, u8} m'' n'' A)) (Function.comp.{succ (max u1 u2 u8), succ (max u3 u4 u8), succ (max u5 u6 u8)} (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) (coeFn.{max (succ (max u3 u4 u8)) (succ (max u5 u6 u8)), max (succ (max u3 u4 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u3, u4, u8} m' n' A) -> (Matrix.{u5, u6, u8} m'' n'' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u3, u4, u5, u6, u7, u8} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂')) (coeFn.{max (succ (max u1 u2 u8)) (succ (max u3 u4 u8)), max (succ (max u1 u2 u8)) (succ (max u3 u4 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u2, u8} m n A) -> (Matrix.{u3, u4, u8} m' n' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u3, u4, u7, u8} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂))) (coeFn.{max (succ (max u1 u2 u8)) (succ (max u5 u6 u8)), max (succ (max u1 u2 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u2, u8} m n A) -> (Matrix.{u5, u6, u8} m'' n'' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u5, u6, u7, u8} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u1, succ u3, succ u5} m m' m'' e₁ e₁') (Equiv.trans.{succ u2, succ u4, succ u6} n n' n'' e₂ e₂')))
+but is expected to have type
+  forall {m : Type.{u8}} {n : Type.{u6}} {m' : Type.{u7}} {n' : Type.{u5}} {m'' : Type.{u4}} {n'' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u8, succ u7} m m') (e₂ : Equiv.{succ u6, succ u5} n n') (e₁' : Equiv.{succ u7, succ u4} m' m'') (e₂' : Equiv.{succ u5, succ u3} n' n''), Eq.{max (max (max (max (succ u8) (succ u6)) (succ u4)) (succ u3)) (succ u2)} ((Matrix.{u8, u6, u2} m n A) -> (Matrix.{u4, u3, u2} m'' n'' A)) (Function.comp.{max (max (succ u8) (succ u6)) (succ u2), max (max (succ u7) (succ u5)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (FunLike.coe.{max (max (max (max (succ u7) (succ u5)) (succ u4)) (succ u3)) (succ u2), max (max (succ u7) (succ u5)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u7, u5, u2} m' n' A) (fun (_x : Matrix.{u7, u5, u2} m' n' A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u7, u5, u2} m' n' A) => Matrix.{u4, u3, u2} m'' n'' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u7 u5) u4) u3) u2, u1, max (max u7 u5) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toZero.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toAddZeroClass.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u7 u5) u4) u3) u2, u1, max (max u7 u5) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u7 u5) u2, max (max u4 u3) u2, max (max (max (max u7 u5) u4) u3) u2} R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u7 u5) u2, max (max u4 u3) u2, max (max (max (max u7 u5) u4) u3) u2} R R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u7 u5) u2, max (max u4 u3) u2} R R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u7, u5, u4, u3, u1, u2} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂')) (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u7)) (succ u5)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u7) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (_x : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u8, u6, u2} m n A) => Matrix.{u7, u5, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u7, u5, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂))) (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u4)) (succ u3)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (_x : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u8, u6, u2} m n A) => Matrix.{u4, u3, u2} m'' n'' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u4) u3) u2, u1, max (max u8 u6) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toZero.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toAddZeroClass.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u4) u3) u2, u1, max (max u8 u6) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u4 u3) u2, max (max (max (max u8 u6) u4) u3) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u4 u3) u2, max (max (max (max u8 u6) u4) u3) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u4 u3) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u4, u3, u1, u2} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u8, succ u7, succ u4} m m' m'' e₁ e₁') (Equiv.trans.{succ u6, succ u5, succ u3} n n' n'' e₂ e₂')))
+Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_comp Matrix.reindexLinearEquiv_compₓ'. -/
 theorem reindexLinearEquiv_comp (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m' ≃ m'') (e₂' : n' ≃ n'') :
     reindexLinearEquiv R A e₁' e₂' ∘ reindexLinearEquiv R A e₁ e₂ =
       reindexLinearEquiv R A (e₁.trans e₁') (e₂.trans e₂') :=
@@ -85,6 +117,12 @@ theorem reindexLinearEquiv_comp (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m'
   rfl
 #align matrix.reindex_linear_equiv_comp Matrix.reindexLinearEquiv_comp
 
+/- warning: matrix.reindex_linear_equiv_comp_apply -> Matrix.reindexLinearEquiv_comp_apply is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {m' : Type.{u3}} {n' : Type.{u4}} {m'' : Type.{u5}} {n'' : Type.{u6}} (R : Type.{u7}) (A : Type.{u8}) [_inst_1 : Semiring.{u7} R] [_inst_2 : AddCommMonoid.{u8} A] [_inst_3 : Module.{u7, u8} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u1, succ u3} m m') (e₂ : Equiv.{succ u2, succ u4} n n') (e₁' : Equiv.{succ u3, succ u5} m' m'') (e₂' : Equiv.{succ u4, succ u6} n' n'') (M : Matrix.{u1, u2, u8} m n A), Eq.{succ (max u5 u6 u8)} (Matrix.{u5, u6, u8} m'' n'' A) (coeFn.{max (succ (max u3 u4 u8)) (succ (max u5 u6 u8)), max (succ (max u3 u4 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u3, u4, u8} m' n' A) -> (Matrix.{u5, u6, u8} m'' n'' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u3 u4 u8, max u5 u6 u8} R R (Matrix.{u3, u4, u8} m' n' A) (Matrix.{u5, u6, u8} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u3, u4, u5, u6, u7, u8} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂') (coeFn.{max (succ (max u1 u2 u8)) (succ (max u3 u4 u8)), max (succ (max u1 u2 u8)) (succ (max u3 u4 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u2, u8} m n A) -> (Matrix.{u3, u4, u8} m' n' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u2 u8, max u3 u4 u8} R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u3, u4, u8} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u3, u4} m' n' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u3, u4, u7} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u3, u4, u7, u8} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂) M)) (coeFn.{max (succ (max u1 u2 u8)) (succ (max u5 u6 u8)), max (succ (max u1 u2 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u2, u8} m n A) -> (Matrix.{u5, u6, u8} m'' n'' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u2 u8, max u5 u6 u8} R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u5, u6, u8} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A _inst_2) (Matrix.addCommMonoid.{u8, u5, u6} m'' n'' A _inst_2) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u8, u5, u6, u7} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u5, u6, u7, u8} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u1, succ u3, succ u5} m m' m'' e₁ e₁') (Equiv.trans.{succ u2, succ u4, succ u6} n n' n'' e₂ e₂')) M)
+but is expected to have type
+  forall {m : Type.{u8}} {n : Type.{u6}} {m' : Type.{u7}} {n' : Type.{u5}} {m'' : Type.{u4}} {n'' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] (e₁ : Equiv.{succ u8, succ u7} m m') (e₂ : Equiv.{succ u6, succ u5} n n') (e₁' : Equiv.{succ u7, succ u4} m' m'') (e₂' : Equiv.{succ u5, succ u3} n' n'') (M : Matrix.{u8, u6, u2} m n A), Eq.{max (max (succ u4) (succ u3)) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u7, u5, u2} m' n' A) => Matrix.{u4, u3, u2} m'' n'' A) (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u7)) (succ u5)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u7) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (a : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u8, u6, u2} m n A) => Matrix.{u7, u5, u2} m' n' A) a) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u7, u5, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂) M)) (FunLike.coe.{max (max (max (max (succ u7) (succ u5)) (succ u4)) (succ u3)) (succ u2), max (max (succ u7) (succ u5)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u7, u5, u2} m' n' A) (fun (_x : Matrix.{u7, u5, u2} m' n' A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u7, u5, u2} m' n' A) => Matrix.{u4, u3, u2} m'' n'' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u7 u5) u4) u3) u2, u1, max (max u7 u5) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toZero.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toAddZeroClass.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u7 u5) u4) u3) u2, u1, max (max u7 u5) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u7 u5) u2, max (max u4 u3) u2, max (max (max (max u7 u5) u4) u3) u2} R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u7 u5) u2, max (max u4 u3) u2, max (max (max (max u7 u5) u4) u3) u2} R R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u5) u7, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u7 u5) u2, max (max u4 u3) u2} R R (Matrix.{u7, u5, u2} m' n' A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u7, u5, u4, u3, u1, u2} m' n' m'' n'' R A _inst_1 _inst_2 _inst_3 e₁' e₂') (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u7)) (succ u5)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u7) (succ u5)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (_x : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u8, u6, u2} m n A) => Matrix.{u7, u5, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toZero.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u7) u5) u2, u1, max (max u8 u6) u2, max (max u7 u5) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u7 u5) u2} (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u7 u5) u2} R (Matrix.{u7, u5, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2, max (max (max (max u8 u6) u7) u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u5) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u7 u5) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u7, u5, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u7, u5} m' n' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u7, u5, u1} m' n' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u7, u5, u1, u2} m n m' n' R A _inst_1 _inst_2 _inst_3 e₁ e₂) M)) (FunLike.coe.{max (max (max (max (succ u8) (succ u6)) (succ u4)) (succ u3)) (succ u2), max (max (succ u8) (succ u6)) (succ u2), max (max (succ u4) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u8, u6, u2} m n A) (fun (_x : Matrix.{u8, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u8, u6, u2} m n A) => Matrix.{u4, u3, u2} m'' n'' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u6) u4) u3) u2, u1, max (max u8 u6) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (SMulZeroClass.toSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toZero.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toZero.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (AddMonoid.toAddZeroClass.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u6) u4) u3) u2, u1, max (max u8 u6) u2, max (max u4 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u6) u2} (Matrix.{u8, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2)) (AddCommMonoid.toAddMonoid.{max (max u4 u3) u2} (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2)) (Module.toDistribMulAction.{u1, max (max u8 u6) u2} R (Matrix.{u8, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max (max u4 u3) u2} R (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u6) u2, max (max u4 u3) u2, max (max (max (max u8 u6) u4) u3) u2} R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u6) u2, max (max u4 u3) u2, max (max (max (max u8 u6) u4) u3) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (LinearEquiv.{u1, u1, max (max u2 u6) u8, max (max u2 u3) u4} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u6) u2, max (max u4 u3) u2} R R (Matrix.{u8, u6, u2} m n A) (Matrix.{u4, u3, u2} m'' n'' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u6} m n A _inst_2) (Matrix.addCommMonoid.{u2, u4, u3} m'' n'' A _inst_2) (Matrix.module.{u2, u8, u6, u1} m n R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u4, u3, u1} m'' n'' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u6, u4, u3, u1, u2} m n m'' n'' R A _inst_1 _inst_2 _inst_3 (Equiv.trans.{succ u8, succ u7, succ u4} m m' m'' e₁ e₁') (Equiv.trans.{succ u6, succ u5, succ u3} n n' n'' e₂ e₂')) M)
+Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_comp_apply Matrix.reindexLinearEquiv_comp_applyₓ'. -/
 theorem reindexLinearEquiv_comp_apply (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁' : m' ≃ m'') (e₂' : n' ≃ n'')
     (M : Matrix m n A) :
     (reindexLinearEquiv R A e₁' e₂') (reindexLinearEquiv R A e₁ e₂ M) =
@@ -92,6 +130,12 @@ theorem reindexLinearEquiv_comp_apply (e₁ : m ≃ m') (e₂ : n ≃ n') (e₁'
   submatrix_submatrix _ _ _ _ _
 #align matrix.reindex_linear_equiv_comp_apply Matrix.reindexLinearEquiv_comp_apply
 
+/- warning: matrix.reindex_linear_equiv_one -> Matrix.reindexLinearEquiv_one is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {m' : Type.{u2}} (R : Type.{u3}) (A : Type.{u4}) [_inst_1 : Semiring.{u3} R] [_inst_2 : AddCommMonoid.{u4} A] [_inst_3 : Module.{u3, u4} R A _inst_1 _inst_2] [_inst_4 : DecidableEq.{succ u1} m] [_inst_5 : DecidableEq.{succ u2} m'] [_inst_6 : One.{u4} A] (e : Equiv.{succ u1, succ u2} m m'), Eq.{succ (max u2 u4)} (Matrix.{u2, u2, u4} m' m' A) (coeFn.{max (succ (max u1 u4)) (succ (max u2 u4)), max (succ (max u1 u4)) (succ (max u2 u4))} (LinearEquiv.{u3, u3, max u1 u4, max u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Matrix.{u1, u1, u4} m m A) (Matrix.{u2, u2, u4} m' m' A) (Matrix.addCommMonoid.{u4, u1, u1} m m A _inst_2) (Matrix.addCommMonoid.{u4, u2, u2} m' m' A _inst_2) (Matrix.module.{u4, u1, u1, u3} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u4, u2, u2, u3} m' m' R A _inst_1 _inst_2 _inst_3)) (fun (_x : LinearEquiv.{u3, u3, max u1 u4, max u2 u4} R R _inst_1 _inst_1 (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1) (Matrix.{u1, u1, u4} m m A) (Matrix.{u2, u2, u4} m' m' A) (Matrix.addCommMonoid.{u4, u1, u1} m m A _inst_2) (Matrix.addCommMonoid.{u4, u2, u2} m' m' A _inst_2) (Matrix.module.{u4, u1, u1, u3} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u4, u2, u2, u3} m' m' R A _inst_1 _inst_2 _inst_3)) => (Matrix.{u1, u1, u4} m m A) -> (Matrix.{u2, u2, u4} m' m' A)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u4, max u2 u4} R R (Matrix.{u1, u1, u4} m m A) (Matrix.{u2, u2, u4} m' m' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u4, u1, u1} m m A _inst_2) (Matrix.addCommMonoid.{u4, u2, u2} m' m' A _inst_2) (Matrix.module.{u4, u1, u1, u3} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u4, u2, u2, u3} m' m' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R _inst_1)) (RingHomInvPair.ids.{u3} R _inst_1) (RingHomInvPair.ids.{u3} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u1, u2, u2, u3, u4} m m m' m' R A _inst_1 _inst_2 _inst_3 e e) (OfNat.ofNat.{max u1 u4} (Matrix.{u1, u1, u4} m m A) 1 (OfNat.mk.{max u1 u4} (Matrix.{u1, u1, u4} m m A) 1 (One.one.{max u1 u4} (Matrix.{u1, u1, u4} m m A) (Matrix.hasOne.{u4, u1} m A (fun (a : m) (b : m) => _inst_4 a b) (AddZeroClass.toHasZero.{u4} A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A _inst_2))) _inst_6))))) (OfNat.ofNat.{max u2 u4} (Matrix.{u2, u2, u4} m' m' A) 1 (OfNat.mk.{max u2 u4} (Matrix.{u2, u2, u4} m' m' A) 1 (One.one.{max u2 u4} (Matrix.{u2, u2, u4} m' m' A) (Matrix.hasOne.{u4, u2} m' A (fun (a : m') (b : m') => _inst_5 a b) (AddZeroClass.toHasZero.{u4} A (AddMonoid.toAddZeroClass.{u4} A (AddCommMonoid.toAddMonoid.{u4} A _inst_2))) _inst_6))))
+but is expected to have type
+  forall {m : Type.{u4}} {m' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : AddCommMonoid.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 _inst_2] [_inst_4 : DecidableEq.{succ u4} m] [_inst_5 : DecidableEq.{succ u3} m'] [_inst_6 : One.{u2} A] (e : Equiv.{succ u4, succ u3} m m'), Eq.{max (succ u3) (succ u2)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u4, u4, u2} m m A) => Matrix.{u3, u3, u2} m' m' A) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} m m A) 1 (One.toOfNat1.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.one.{u2, u4} m A (fun (a : m) (b : m) => _inst_4 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))) (FunLike.coe.{max (max (succ u4) (succ u3)) (succ u2), max (succ u4) (succ u2), max (succ u3) (succ u2)} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) (Matrix.{u4, u4, u2} m m A) (fun (_x : Matrix.{u4, u4, u2} m m A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u4, u4, u2} m m A) => Matrix.{u3, u3, u2} m' m' A) _x) (SMulHomClass.toFunLike.{max (max u4 u3) u2, u1, max u4 u2, max u3 u2} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (SMulZeroClass.toSMul.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) (AddMonoid.toZero.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (AddCommMonoid.toAddMonoid.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) (AddMonoid.toAddZeroClass.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (AddCommMonoid.toAddMonoid.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2)) (Module.toDistribMulAction.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3))))) (SMulZeroClass.toSMul.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) (AddMonoid.toZero.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2))) (DistribSMul.toSMulZeroClass.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) (AddMonoid.toAddZeroClass.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2))) (DistribMulAction.toDistribSMul.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2)) (Module.toDistribMulAction.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u4 u3) u2, u1, max u4 u2, max u3 u2} (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2)) (AddCommMonoid.toAddMonoid.{max u3 u2} (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2)) (Module.toDistribMulAction.{u1, max u4 u2} R (Matrix.{u4, u4, u2} m m A) _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3)) (Module.toDistribMulAction.{u1, max u3 u2} R (Matrix.{u3, u3, u2} m' m' A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u4 u2, max u3 u2, max (max u4 u3) u2} R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u4 u2, max u3 u2, max (max u4 u3) u2} R R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (LinearEquiv.{u1, u1, max u2 u4, max u2 u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u4 u2, max u3 u2} R R (Matrix.{u4, u4, u2} m m A) (Matrix.{u3, u3, u2} m' m' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u4, u4} m m A _inst_2) (Matrix.addCommMonoid.{u2, u3, u3} m' m' A _inst_2) (Matrix.module.{u2, u4, u4, u1} m m R A _inst_1 _inst_2 _inst_3) (Matrix.module.{u2, u3, u3, u1} m' m' R A _inst_1 _inst_2 _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u4, u4, u3, u3, u1, u2} m m m' m' R A _inst_1 _inst_2 _inst_3 e e) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} m m A) 1 (One.toOfNat1.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.one.{u2, u4} m A (fun (a : m) (b : m) => _inst_4 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))) (OfNat.ofNat.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u4, u4, u2} m m A) => Matrix.{u3, u3, u2} m' m' A) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} m m A) 1 (One.toOfNat1.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.one.{u2, u4} m A (fun (a : m) (b : m) => _inst_4 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))) 1 (One.toOfNat1.{max u3 u2} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u4, u4, u2} m m A) => Matrix.{u3, u3, u2} m' m' A) (OfNat.ofNat.{max u4 u2} (Matrix.{u4, u4, u2} m m A) 1 (One.toOfNat1.{max u4 u2} (Matrix.{u4, u4, u2} m m A) (Matrix.one.{u2, u4} m A (fun (a : m) (b : m) => _inst_4 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))) (Matrix.one.{u2, u3} m' A (fun (a : m') (b : m') => _inst_5 a b) (AddMonoid.toZero.{u2} A (AddCommMonoid.toAddMonoid.{u2} A _inst_2)) _inst_6)))
+Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_one Matrix.reindexLinearEquiv_oneₓ'. -/
 theorem reindexLinearEquiv_one [DecidableEq m] [DecidableEq m'] [One A] (e : m ≃ m') :
     reindexLinearEquiv R A e e (1 : Matrix m m A) = 1 :=
   submatrix_one_equiv e.symm
@@ -103,6 +147,12 @@ section Semiring
 
 variable [Semiring R] [Semiring A] [Module R A]
 
+/- warning: matrix.reindex_linear_equiv_mul -> Matrix.reindexLinearEquiv_mul is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {o : Type.{u3}} {m' : Type.{u4}} {n' : Type.{u5}} {o' : Type.{u6}} (R : Type.{u7}) (A : Type.{u8}) [_inst_1 : Semiring.{u7} R] [_inst_2 : Semiring.{u8} A] [_inst_3 : Module.{u7, u8} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))] [_inst_4 : Fintype.{u2} n] [_inst_5 : Fintype.{u5} n'] (eₘ : Equiv.{succ u1, succ u4} m m') (eₙ : Equiv.{succ u2, succ u5} n n') (eₒ : Equiv.{succ u3, succ u6} o o') (M : Matrix.{u1, u2, u8} m n A) (N : Matrix.{u2, u3, u8} n o A), Eq.{succ (max u4 u6 u8)} (Matrix.{u4, u6, u8} m' o' A) (Matrix.mul.{u8, u4, u5, u6} m' n' o' A _inst_5 (Distrib.toHasMul.{u8} A (NonUnitalNonAssocSemiring.toDistrib.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) (coeFn.{max (succ (max u1 u2 u8)) (succ (max u4 u5 u8)), max (succ (max u1 u2 u8)) (succ (max u4 u5 u8))} (LinearEquiv.{u7, u7, max u1 u2 u8, max u4 u5 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u4, u5, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u5} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u5, u7} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u2 u8, max u4 u5 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u2, u8} m n A) (Matrix.{u4, u5, u8} m' n' A) (Matrix.addCommMonoid.{u8, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u5} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u5, u7} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) => (Matrix.{u1, u2, u8} m n A) -> (Matrix.{u4, u5, u8} m' n' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u2 u8, max u4 u5 u8} R R (Matrix.{u1, u2, u8} m n A) (Matrix.{u4, u5, u8} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u5} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u2, u7} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u5, u7} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u4, u5, u7, u8} m n m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3 eₘ eₙ) M) (coeFn.{max (succ (max u2 u3 u8)) (succ (max u5 u6 u8)), max (succ (max u2 u3 u8)) (succ (max u5 u6 u8))} (LinearEquiv.{u7, u7, max u2 u3 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u2, u3, u8} n o A) (Matrix.{u5, u6, u8} n' o' A) (Matrix.addCommMonoid.{u8, u2, u3} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u5, u6} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u2, u3, u7} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u5, u6, u7} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u2 u3 u8, max u5 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u2, u3, u8} n o A) (Matrix.{u5, u6, u8} n' o' A) (Matrix.addCommMonoid.{u8, u2, u3} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u5, u6} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u2, u3, u7} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u5, u6, u7} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) => (Matrix.{u2, u3, u8} n o A) -> (Matrix.{u5, u6, u8} n' o' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u2 u3 u8, max u5 u6 u8} R R (Matrix.{u2, u3, u8} n o A) (Matrix.{u5, u6, u8} n' o' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u2, u3} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u5, u6} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u2, u3, u7} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u5, u6, u7} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u2, u3, u5, u6, u7, u8} n o n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3 eₙ eₒ) N)) (coeFn.{max (succ (max u1 u3 u8)) (succ (max u4 u6 u8)), max (succ (max u1 u3 u8)) (succ (max u4 u6 u8))} (LinearEquiv.{u7, u7, max u1 u3 u8, max u4 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u3, u8} m o A) (Matrix.{u4, u6, u8} m' o' A) (Matrix.addCommMonoid.{u8, u1, u3} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u6} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u3, u7} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u6, u7} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) (fun (_x : LinearEquiv.{u7, u7, max u1 u3 u8, max u4 u6 u8} R R _inst_1 _inst_1 (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1) (Matrix.{u1, u3, u8} m o A) (Matrix.{u4, u6, u8} m' o' A) (Matrix.addCommMonoid.{u8, u1, u3} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u6} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u3, u7} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u6, u7} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3)) => (Matrix.{u1, u3, u8} m o A) -> (Matrix.{u4, u6, u8} m' o' A)) (LinearEquiv.hasCoeToFun.{u7, u7, max u1 u3 u8, max u4 u6 u8} R R (Matrix.{u1, u3, u8} m o A) (Matrix.{u4, u6, u8} m' o' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u8, u1, u3} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.addCommMonoid.{u8, u4, u6} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (Matrix.module.{u8, u1, u3, u7} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (Matrix.module.{u8, u4, u6, u7} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHom.id.{u7} R (Semiring.toNonAssocSemiring.{u7} R _inst_1)) (RingHomInvPair.ids.{u7} R _inst_1) (RingHomInvPair.ids.{u7} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u3, u4, u6, u7, u8} m o m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) _inst_3 eₘ eₒ) (Matrix.mul.{u8, u1, u2, u3} m n o A _inst_4 (Distrib.toHasMul.{u8} A (NonUnitalNonAssocSemiring.toDistrib.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u8} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u8} A (Semiring.toNonAssocSemiring.{u8} A _inst_2))) M N))
+but is expected to have type
+  forall {m : Type.{u6}} {n : Type.{u8}} {o : Type.{u4}} {m' : Type.{u5}} {n' : Type.{u7}} {o' : Type.{u3}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))] [_inst_4 : Fintype.{u8} n] [_inst_5 : Fintype.{u7} n'] (eₘ : Equiv.{succ u6, succ u5} m m') (eₙ : Equiv.{succ u8, succ u7} n n') (eₒ : Equiv.{succ u4, succ u3} o o') (M : Matrix.{u6, u8, u2} m n A) (N : Matrix.{u8, u4, u2} n o A), Eq.{max (max (succ u5) (succ u3)) (succ u2)} (Matrix.{u5, u3, u2} m' o' A) (Matrix.mul.{u2, u5, u7, u3} m' n' o' A _inst_5 (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (FunLike.coe.{max (max (max (max (succ u6) (succ u8)) (succ u5)) (succ u7)) (succ u2), max (max (succ u6) (succ u8)) (succ u2), max (max (succ u5) (succ u7)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u6, u8, u2} m n A) (fun (_x : Matrix.{u6, u8, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u6, u8, u2} m n A) => Matrix.{u5, u7, u2} m' n' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u6 u8) u5) u7) u2, u1, max (max u6 u8) u2, max (max u5 u7) u2} (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (SMulZeroClass.toSMul.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) (AddMonoid.toZero.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) (AddMonoid.toZero.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) (AddMonoid.toAddZeroClass.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (AddCommMonoid.toAddMonoid.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u6 u8) u5) u7) u2, u1, max (max u6 u8) u2, max (max u5 u7) u2} (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u8) u2} (Matrix.{u6, u8, u2} m n A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u5 u7) u2} (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u8) u2} R (Matrix.{u6, u8, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u5 u7) u2} R (Matrix.{u5, u7, u2} m' n' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u6 u8) u2, max (max u5 u7) u2, max (max (max (max u6 u8) u5) u7) u2} R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u6 u8) u2, max (max u5 u7) u2, max (max (max (max u6 u8) u5) u7) u2} R R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (LinearEquiv.{u1, u1, max (max u2 u8) u6, max (max u2 u7) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u6 u8) u2, max (max u5 u7) u2} R R (Matrix.{u6, u8, u2} m n A) (Matrix.{u5, u7, u2} m' n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u8} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u7} m' n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u8, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u7, u1} m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u6, u8, u5, u7, u1, u2} m n m' n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 eₘ eₙ) M) (FunLike.coe.{max (max (max (max (succ u8) (succ u4)) (succ u7)) (succ u3)) (succ u2), max (max (succ u8) (succ u4)) (succ u2), max (max (succ u7) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u8, u4, u2} n o A) (fun (_x : Matrix.{u8, u4, u2} n o A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u8, u4, u2} n o A) => Matrix.{u7, u3, u2} n' o' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u8 u4) u7) u3) u2, u1, max (max u8 u4) u2, max (max u7 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (SMulZeroClass.toSMul.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) (AddMonoid.toZero.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (AddCommMonoid.toAddMonoid.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) (AddMonoid.toAddZeroClass.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (AddCommMonoid.toAddMonoid.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) (AddMonoid.toZero.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (AddCommMonoid.toAddMonoid.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) (AddMonoid.toAddZeroClass.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (AddCommMonoid.toAddMonoid.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u8 u4) u7) u3) u2, u1, max (max u8 u4) u2, max (max u7 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u8 u4) u2} (Matrix.{u8, u4, u2} n o A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u7 u3) u2} (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u8 u4) u2} R (Matrix.{u8, u4, u2} n o A) _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u7 u3) u2} R (Matrix.{u7, u3, u2} n' o' A) _inst_1 (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u8 u4) u2, max (max u7 u3) u2, max (max (max (max u8 u4) u7) u3) u2} R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u8 u4) u2, max (max u7 u3) u2, max (max (max (max u8 u4) u7) u3) u2} R R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (LinearEquiv.{u1, u1, max (max u2 u4) u8, max (max u2 u3) u7} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u8 u4) u2, max (max u7 u3) u2} R R (Matrix.{u8, u4, u2} n o A) (Matrix.{u7, u3, u2} n' o' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u8, u4} n o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u7, u3} n' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u8, u4, u1} n o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u7, u3, u1} n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u8, u4, u7, u3, u1, u2} n o n' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 eₙ eₒ) N)) (FunLike.coe.{max (max (max (max (succ u6) (succ u4)) (succ u5)) (succ u3)) (succ u2), max (max (succ u6) (succ u4)) (succ u2), max (max (succ u5) (succ u3)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u6, u4, u2} m o A) (fun (_x : Matrix.{u6, u4, u2} m o A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u6, u4, u2} m o A) => Matrix.{u5, u3, u2} m' o' A) _x) (SMulHomClass.toFunLike.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (SMulZeroClass.toSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) (AddMonoid.toZero.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) (AddMonoid.toAddZeroClass.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) (AddMonoid.toZero.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) (AddMonoid.toAddZeroClass.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max (max u6 u4) u5) u3) u2, u1, max (max u6 u4) u2, max (max u5 u3) u2} (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} m o A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u5 u3) u2} (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} m o A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u5 u3) u2} R (Matrix.{u5, u3, u2} m' o' A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2, max (max (max (max u6 u4) u5) u3) u2} R R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (LinearEquiv.{u1, u1, max (max u2 u4) u6, max (max u2 u3) u5} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u6 u4) u2, max (max u5 u3) u2} R R (Matrix.{u6, u4, u2} m o A) (Matrix.{u5, u3, u2} m' o' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} m o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u5, u3} m' o' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} m o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u5, u3, u1} m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u6, u4, u5, u3, u1, u2} m o m' o' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 eₘ eₒ) (Matrix.mul.{u2, u6, u8, u4} m n o A _inst_4 (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) M N))
+Case conversion may be inaccurate. Consider using '#align matrix.reindex_linear_equiv_mul Matrix.reindexLinearEquiv_mulₓ'. -/
 theorem reindexLinearEquiv_mul [Fintype n] [Fintype n'] (eₘ : m ≃ m') (eₙ : n ≃ n') (eₒ : o ≃ o')
     (M : Matrix m n A) (N : Matrix n o A) :
     reindexLinearEquiv R A eₘ eₙ M ⬝ reindexLinearEquiv R A eₙ eₒ N =
@@ -110,6 +160,12 @@ theorem reindexLinearEquiv_mul [Fintype n] [Fintype n'] (eₘ : m ≃ m') (eₙ
   submatrix_mul_equiv M N _ _ _
 #align matrix.reindex_linear_equiv_mul Matrix.reindexLinearEquiv_mul
 
+/- warning: matrix.mul_reindex_linear_equiv_one -> Matrix.mul_reindexLinearEquiv_one is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} {o : Type.{u3}} {n' : Type.{u4}} (R : Type.{u5}) (A : Type.{u6}) [_inst_1 : Semiring.{u5} R] [_inst_2 : Semiring.{u6} A] [_inst_3 : Module.{u5, u6} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))] [_inst_4 : Fintype.{u2} n] [_inst_5 : DecidableEq.{succ u3} o] (e₁ : Equiv.{succ u3, succ u2} o n) (e₂ : Equiv.{succ u3, succ u4} o n') (M : Matrix.{u1, u2, u6} m n A), Eq.{succ (max u1 u4 u6)} (Matrix.{u1, u4, u6} m n' A) (Matrix.mul.{u6, u1, u2, u4} m n n' A _inst_4 (Distrib.toHasMul.{u6} A (NonUnitalNonAssocSemiring.toDistrib.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) M (coeFn.{max (succ (max u3 u6)) (succ (max u2 u4 u6)), max (succ (max u3 u6)) (succ (max u2 u4 u6))} (LinearEquiv.{u5, u5, max u3 u6, max u2 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u3, u3, u6} o o A) (Matrix.{u2, u4, u6} n n' A) (Matrix.addCommMonoid.{u6, u3, u3} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u2, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u3, u3, u5} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u2, u4, u5} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3)) (fun (_x : LinearEquiv.{u5, u5, max u3 u6, max u2 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u3, u3, u6} o o A) (Matrix.{u2, u4, u6} n n' A) (Matrix.addCommMonoid.{u6, u3, u3} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u2, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u3, u3, u5} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u2, u4, u5} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3)) => (Matrix.{u3, u3, u6} o o A) -> (Matrix.{u2, u4, u6} n n' A)) (LinearEquiv.hasCoeToFun.{u5, u5, max u3 u6, max u2 u4 u6} R R (Matrix.{u3, u3, u6} o o A) (Matrix.{u2, u4, u6} n n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u6, u3, u3} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u2, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u3, u3, u5} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u2, u4, u5} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1)) (Matrix.reindexLinearEquiv.{u3, u3, u2, u4, u5, u6} o o n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3 e₁ e₂) (OfNat.ofNat.{max u3 u6} (Matrix.{u3, u3, u6} o o A) 1 (OfNat.mk.{max u3 u6} (Matrix.{u3, u3, u6} o o A) 1 (One.one.{max u3 u6} (Matrix.{u3, u3, u6} o o A) (Matrix.hasOne.{u6, u3} o A (fun (a : o) (b : o) => _inst_5 a b) (MulZeroClass.toHasZero.{u6} A (NonUnitalNonAssocSemiring.toMulZeroClass.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (AddMonoidWithOne.toOne.{u6} A (AddCommMonoidWithOne.toAddMonoidWithOne.{u6} A (NonAssocSemiring.toAddCommMonoidWithOne.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))))))))) (coeFn.{max (succ (max u1 u2 u6)) (succ (max u1 u4 u6)), max (succ (max u1 u2 u6)) (succ (max u1 u4 u6))} (LinearEquiv.{u5, u5, max u1 u2 u6, max u1 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u1, u2, u6} m n A) (Matrix.{u1, u4, u6} m n' A) (Matrix.addCommMonoid.{u6, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u1, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u1, u4, u5} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3)) (fun (_x : LinearEquiv.{u5, u5, max u1 u2 u6, max u1 u4 u6} R R _inst_1 _inst_1 (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1) (Matrix.{u1, u2, u6} m n A) (Matrix.{u1, u4, u6} m n' A) (Matrix.addCommMonoid.{u6, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u1, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u1, u4, u5} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3)) => (Matrix.{u1, u2, u6} m n A) -> (Matrix.{u1, u4, u6} m n' A)) (LinearEquiv.hasCoeToFun.{u5, u5, max u1 u2 u6, max u1 u4 u6} R R (Matrix.{u1, u2, u6} m n A) (Matrix.{u1, u4, u6} m n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u6, u1, u2} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.addCommMonoid.{u6, u1, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2)))) (Matrix.module.{u6, u1, u2, u5} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (Matrix.module.{u6, u1, u4, u5} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHom.id.{u5} R (Semiring.toNonAssocSemiring.{u5} R _inst_1)) (RingHomInvPair.ids.{u5} R _inst_1) (RingHomInvPair.ids.{u5} R _inst_1)) (Matrix.reindexLinearEquiv.{u1, u2, u1, u4, u5, u6} m n m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u6} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u6} A (Semiring.toNonAssocSemiring.{u6} A _inst_2))) _inst_3 (Equiv.refl.{succ u1} m) (Equiv.trans.{succ u2, succ u3, succ u4} n o n' (Equiv.symm.{succ u3, succ u2} o n e₁) e₂)) M)
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u6}} {o : Type.{u5}} {n' : Type.{u4}} (R : Type.{u1}) (A : Type.{u2}) [_inst_1 : Semiring.{u1} R] [_inst_2 : Semiring.{u2} A] [_inst_3 : Module.{u1, u2} R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))] [_inst_4 : Fintype.{u6} n] [_inst_5 : DecidableEq.{succ u5} o] (e₁ : Equiv.{succ u5, succ u6} o n) (e₂ : Equiv.{succ u5, succ u4} o n') (M : Matrix.{u3, u6, u2} m n A), Eq.{max (max (succ u3) (succ u4)) (succ u2)} (Matrix.{u3, u4, u2} m n' A) (Matrix.mul.{u2, u3, u6, u4} m n n' A _inst_4 (NonUnitalNonAssocSemiring.toMul.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) M (FunLike.coe.{max (max (max (succ u6) (succ u5)) (succ u4)) (succ u2), max (succ u5) (succ u2), max (max (succ u6) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u5, u5, u2} o o A) (fun (_x : Matrix.{u5, u5, u2} o o A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u5, u5, u2} o o A) => Matrix.{u6, u4, u2} n n' A) _x) (SMulHomClass.toFunLike.{max (max (max u6 u5) u4) u2, u1, max u5 u2, max (max u6 u4) u2} (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (SMulZeroClass.toSMul.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) (AddMonoid.toZero.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (AddCommMonoid.toAddMonoid.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) (AddMonoid.toAddZeroClass.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (AddCommMonoid.toAddMonoid.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) (AddMonoid.toZero.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) (AddMonoid.toAddZeroClass.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u6 u5) u4) u2, u1, max u5 u2, max (max u6 u4) u2} (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u6 u4) u2} (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max u5 u2} R (Matrix.{u5, u5, u2} o o A) _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u6 u4) u2} R (Matrix.{u6, u4, u2} n n' A) _inst_1 (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max u5 u2, max (max u6 u4) u2, max (max (max u6 u5) u4) u2} R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max u5 u2, max (max u6 u4) u2, max (max (max u6 u5) u4) u2} R R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (LinearEquiv.{u1, u1, max u2 u5, max (max u2 u4) u6} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max u5 u2, max (max u6 u4) u2} R R (Matrix.{u5, u5, u2} o o A) (Matrix.{u6, u4, u2} n n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u5, u5} o o A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u6, u4} n n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u5, u5, u1} o o R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u6, u4, u1} n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u5, u5, u6, u4, u1, u2} o o n n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 e₁ e₂) (OfNat.ofNat.{max u5 u2} (Matrix.{u5, u5, u2} o o A) 1 (One.toOfNat1.{max u5 u2} (Matrix.{u5, u5, u2} o o A) (Matrix.one.{u2, u5} o A (fun (a : o) (b : o) => _inst_5 a b) (MonoidWithZero.toZero.{u2} A (Semiring.toMonoidWithZero.{u2} A _inst_2)) (Semiring.toOne.{u2} A _inst_2)))))) (FunLike.coe.{max (max (max (succ u3) (succ u6)) (succ u4)) (succ u2), max (max (succ u3) (succ u6)) (succ u2), max (max (succ u3) (succ u4)) (succ u2)} (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Matrix.{u3, u6, u2} m n A) (fun (_x : Matrix.{u3, u6, u2} m n A) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u6, u2} m n A) => Matrix.{u3, u4, u2} m n' A) _x) (SMulHomClass.toFunLike.{max (max (max u3 u6) u4) u2, u1, max (max u3 u6) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (SMulZeroClass.toSMul.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) (AddMonoid.toZero.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) (AddMonoid.toAddZeroClass.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (AddCommMonoid.toAddMonoid.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (SMulZeroClass.toSMul.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) (AddMonoid.toZero.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribSMul.toSMulZeroClass.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) (AddMonoid.toAddZeroClass.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))))) (DistribMulAction.toDistribSMul.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3))))) (DistribMulActionHomClass.toSMulHomClass.{max (max (max u3 u6) u4) u2, u1, max (max u3 u6) u2, max (max u3 u4) u2} (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R _inst_1)) (AddCommMonoid.toAddMonoid.{max (max u3 u6) u2} (Matrix.{u3, u6, u2} m n A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (AddCommMonoid.toAddMonoid.{max (max u3 u4) u2} (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))))) (Module.toDistribMulAction.{u1, max (max u3 u6) u2} R (Matrix.{u3, u6, u2} m n A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (Module.toDistribMulAction.{u1, max (max u3 u4) u2} R (Matrix.{u3, u4, u2} m n' A) _inst_1 (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) (SemilinearMapClass.distribMulActionHomClass.{u1, max (max u3 u6) u2, max (max u3 u4) u2, max (max (max u3 u6) u4) u2} R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (SemilinearEquivClass.instSemilinearMapClass.{u1, u1, max (max u3 u6) u2, max (max u3 u4) u2, max (max (max u3 u6) u4) u2} R R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (LinearEquiv.{u1, u1, max (max u2 u6) u3, max (max u2 u4) u3} R R _inst_1 _inst_1 (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3)) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u1, u1, max (max u3 u6) u2, max (max u3 u4) u2} R R (Matrix.{u3, u6, u2} m n A) (Matrix.{u3, u4, u2} m n' A) _inst_1 _inst_1 (Matrix.addCommMonoid.{u2, u3, u6} m n A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.addCommMonoid.{u2, u3, u4} m n' A (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2)))) (Matrix.module.{u2, u3, u6, u1} m n R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (Matrix.module.{u2, u3, u4, u1} m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHom.id.{u1} R (Semiring.toNonAssocSemiring.{u1} R _inst_1)) (RingHomInvPair.ids.{u1} R _inst_1) (RingHomInvPair.ids.{u1} R _inst_1)))))) (Matrix.reindexLinearEquiv.{u3, u6, u3, u4, u1, u2} m n m n' R A _inst_1 (NonUnitalNonAssocSemiring.toAddCommMonoid.{u2} A (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u2} A (Semiring.toNonAssocSemiring.{u2} A _inst_2))) _inst_3 (Equiv.refl.{succ u3} m) (Equiv.trans.{succ u6, succ u5, succ u4} n o n' (Equiv.symm.{succ u5, succ u6} o n e₁) e₂)) M)
+Case conversion may be inaccurate. Consider using '#align matrix.mul_reindex_linear_equiv_one Matrix.mul_reindexLinearEquiv_oneₓ'. -/
 theorem mul_reindexLinearEquiv_one [Fintype n] [DecidableEq o] (e₁ : o ≃ n) (e₂ : o ≃ n')
     (M : Matrix m n A) :
     M.mul (reindexLinearEquiv R A e₁ e₂ 1) =
@@ -124,6 +180,12 @@ section Algebra
 
 variable [CommSemiring R] [Fintype n] [Fintype m] [DecidableEq m] [DecidableEq n]
 
+/- warning: matrix.reindex_alg_equiv -> Matrix.reindexAlgEquiv is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : DecidableEq.{succ u1} m] [_inst_5 : DecidableEq.{succ u2} n], (Equiv.{succ u1, succ u2} m n) -> (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)))
+but is expected to have type
+  forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : DecidableEq.{succ u1} m] [_inst_5 : DecidableEq.{succ u2} n], (Equiv.{succ u1, succ u2} m n) -> (AlgEquiv.{u3, max u3 u1, max u3 u2} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)))
+Case conversion may be inaccurate. Consider using '#align matrix.reindex_alg_equiv Matrix.reindexAlgEquivₓ'. -/
 /-- For square matrices with coefficients in commutative semirings, the natural map that reindexes
 a matrix's rows and columns with equivalent types, `matrix.reindex`, is an equivalence of algebras.
 -/
@@ -134,22 +196,46 @@ def reindexAlgEquiv (e : m ≃ n) : Matrix m m R ≃ₐ[R] Matrix n n R :=
     commutes' := fun r => by simp [algebraMap, Algebra.toRingHom, submatrix_smul] }
 #align matrix.reindex_alg_equiv Matrix.reindexAlgEquiv
 
+/- warning: matrix.reindex_alg_equiv_apply -> Matrix.reindexAlgEquiv_apply is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : DecidableEq.{succ u1} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n) (M : Matrix.{u1, u1, u3} m m R), Eq.{succ (max u2 u3)} (Matrix.{u2, u2, u3} n n R) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (AlgEquiv.hasCoeToFun.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (coeFn.{max 1 (max (succ (max u1 u3)) (succ (max u2 u3))) (succ (max u2 u3)) (succ (max u1 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (Equiv.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) (fun (_x : Equiv.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (Equiv.hasCoeToFun.{succ (max u1 u3), succ (max u2 u3)} (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R)) (Matrix.reindex.{u3, u2, u1, u1, u2} n m m n R e e) M)
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : DecidableEq.{succ u3} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u3, succ u2} m n) (M : Matrix.{u3, u3, u1} m m R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) M) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (Equiv.{max (succ u1) (succ u3), max (succ u1) (succ u2)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.{u3, u3, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Logic.Equiv.Defs._hyg.808 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (Equiv.instFunLikeEquiv.{max (succ u3) (succ u1), max (succ u2) (succ u1)} (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R)) (Matrix.reindex.{u1, u2, u3, u3, u2} n m m n R e e) M)
+Case conversion may be inaccurate. Consider using '#align matrix.reindex_alg_equiv_apply Matrix.reindexAlgEquiv_applyₓ'. -/
 @[simp]
 theorem reindexAlgEquiv_apply (e : m ≃ n) (M : Matrix m m R) :
     reindexAlgEquiv R e M = reindex e e M :=
   rfl
 #align matrix.reindex_alg_equiv_apply Matrix.reindexAlgEquiv_apply
 
+/- warning: matrix.reindex_alg_equiv_symm -> Matrix.reindexAlgEquiv_symm is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : DecidableEq.{succ u1} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n), Eq.{max (succ (max u2 u3)) (succ (max u1 u3))} (AlgEquiv.{u3, max u2 u3, max u1 u3} R (Matrix.{u2, u2, u3} n n R) (Matrix.{u1, u1, u3} m m R) _inst_1 (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (AlgEquiv.symm.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e)) (Matrix.reindexAlgEquiv.{u2, u1, u3} n m R _inst_1 _inst_3 _inst_2 (fun (a : n) (b : n) => _inst_5 a b) (fun (a : m) (b : m) => _inst_4 a b) (Equiv.symm.{succ u1, succ u2} m n e))
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : DecidableEq.{succ u3} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u3, succ u2} m n), Eq.{max (max (succ u3) (succ u2)) (succ u1)} (AlgEquiv.{u1, max u2 u1, max u3 u1} R (Matrix.{u2, u2, u1} n n R) (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (AlgEquiv.symm.{u1, max u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e)) (Matrix.reindexAlgEquiv.{u2, u3, u1} n m R _inst_1 _inst_3 _inst_2 (fun (a : n) (b : n) => _inst_5 a b) (fun (a : m) (b : m) => _inst_4 a b) (Equiv.symm.{succ u3, succ u2} m n e))
+Case conversion may be inaccurate. Consider using '#align matrix.reindex_alg_equiv_symm Matrix.reindexAlgEquiv_symmₓ'. -/
 @[simp]
 theorem reindexAlgEquiv_symm (e : m ≃ n) : (reindexAlgEquiv R e).symm = reindexAlgEquiv R e.symm :=
   rfl
 #align matrix.reindex_alg_equiv_symm Matrix.reindexAlgEquiv_symm
 
+/- warning: matrix.reindex_alg_equiv_refl -> Matrix.reindexAlgEquiv_refl is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} (R : Type.{u2}) [_inst_1 : CommSemiring.{u2} R] [_inst_3 : Fintype.{u1} m] [_inst_4 : DecidableEq.{succ u1} m], Eq.{succ (max u1 u2)} (AlgEquiv.{u2, max u1 u2, max u1 u2} R (Matrix.{u1, u1, u2} m m R) (Matrix.{u1, u1, u2} m m R) _inst_1 (Matrix.semiring.{u2, u1} m R (CommSemiring.toSemiring.{u2} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u2, u1} m R (CommSemiring.toSemiring.{u2} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.algebra.{u2, u1, u2} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.id.{u2} R _inst_1)) (Matrix.algebra.{u2, u1, u2} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.id.{u2} R _inst_1))) (Matrix.reindexAlgEquiv.{u1, u1, u2} m m R _inst_1 _inst_3 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : m) (b : m) => _inst_4 a b) (Equiv.refl.{succ u1} m)) (AlgEquiv.refl.{u2, max u1 u2} R (Matrix.{u1, u1, u2} m m R) _inst_1 (Matrix.semiring.{u2, u1} m R (CommSemiring.toSemiring.{u2} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.algebra.{u2, u1, u2} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u2} R _inst_1) (Algebra.id.{u2} R _inst_1)))
+but is expected to have type
+  forall {m : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] [_inst_3 : Fintype.{u2} m] [_inst_4 : DecidableEq.{succ u2} m], Eq.{max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u2, max u1 u2} R (Matrix.{u2, u2, u1} m m R) (Matrix.{u2, u2, u1} m m R) _inst_1 (Matrix.semiring.{u1, u2} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))) (Matrix.reindexAlgEquiv.{u2, u2, u1} m m R _inst_1 _inst_3 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : m) (b : m) => _inst_4 a b) (Equiv.refl.{succ u2} m)) (AlgEquiv.refl.{u1, max u2 u1} R (Matrix.{u2, u2, u1} m m R) _inst_1 (Matrix.semiring.{u1, u2} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} m R R _inst_3 (fun (a : m) (b : m) => _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.reindex_alg_equiv_refl Matrix.reindexAlgEquiv_reflₓ'. -/
 @[simp]
 theorem reindexAlgEquiv_refl : reindexAlgEquiv R (Equiv.refl m) = AlgEquiv.refl :=
   AlgEquiv.ext fun _ => rfl
 #align matrix.reindex_alg_equiv_refl Matrix.reindexAlgEquiv_refl
 
+/- warning: matrix.reindex_alg_equiv_mul -> Matrix.reindexAlgEquiv_mul is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommSemiring.{u3} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u1} m] [_inst_4 : DecidableEq.{succ u1} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n) (M : Matrix.{u1, u1, u3} m m R) (N : Matrix.{u1, u1, u3} m m R), Eq.{succ (max u2 u3)} (Matrix.{u2, u2, u3} n n R) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (AlgEquiv.hasCoeToFun.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) (Matrix.mul.{u3, u1, u1, u1} m m m R _inst_3 (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) M N)) (Matrix.mul.{u3, u2, u2, u2} n n n R _inst_2 (Distrib.toHasMul.{u3} R (NonUnitalNonAssocSemiring.toDistrib.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1))))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u3} R (Semiring.toNonAssocSemiring.{u3} R (CommSemiring.toSemiring.{u3} R _inst_1)))) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (AlgEquiv.hasCoeToFun.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (fun (_x : AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (AlgEquiv.hasCoeToFun.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) _inst_1 (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1)) (Matrix.algebra.{u3, u2, u3} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u3} R _inst_1) (Algebra.id.{u3} R _inst_1))) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) N))
+but is expected to have type
+  forall {m : Type.{u3}} {n : Type.{u2}} (R : Type.{u1}) [_inst_1 : CommSemiring.{u1} R] [_inst_2 : Fintype.{u2} n] [_inst_3 : Fintype.{u3} m] [_inst_4 : DecidableEq.{succ u3} m] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u3, succ u2} m n) (M : Matrix.{u3, u3, u1} m m R) (N : Matrix.{u3, u3, u1} m m R), Eq.{max (succ u2) (succ u1)} ((fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) (Matrix.mul.{u1, u3, u3, u3} m m m R _inst_3 (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) M N)) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) (Matrix.mul.{u1, u3, u3, u3} m m m R _inst_3 (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) M N)) (Matrix.mul.{u1, u2, u2, u2} n n n R _inst_2 (NonUnitalNonAssocSemiring.toMul.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u1} R (NonAssocSemiring.toNonUnitalNonAssocSemiring.{u1} R (Semiring.toNonAssocSemiring.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1)))) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) M) (FunLike.coe.{max (max (succ u3) (succ u2)) (succ u1), max (succ u3) (succ u1), max (succ u2) (succ u1)} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (fun (_x : Matrix.{u3, u3, u1} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u3, u3, u1} m m R) => Matrix.{u2, u2, u1} n n R) _x) (SMulHomClass.toFunLike.{max (max u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (SMulZeroClass.toSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toZero.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (AddMonoid.toAddZeroClass.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1))))))) (SMulZeroClass.toSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toZero.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (AddMonoid.toAddZeroClass.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (AddCommMonoid.toAddMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))))) (AddCommMonoid.toAddMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) (MonoidWithZero.toMonoid.{u1} R (Semiring.toMonoidWithZero.{u1} R (CommSemiring.toSemiring.{u1} R _inst_1))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Semiring.toNonAssocSemiring.{max u3 u1} (Matrix.{u3, u3, u1} m m R) (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b))))) (Algebra.toModule.{u1, max u3 u1} R (Matrix.{u3, u3, u1} m m R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))) (Module.toDistribMulAction.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) (CommSemiring.toSemiring.{u1} R _inst_1) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Semiring.toNonAssocSemiring.{max u2 u1} (Matrix.{u2, u2, u1} n n R) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u1, max u2 u1} R (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1, max (max u3 u2) u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u2) u1, u1, max u3 u1, max u2 u1} (AlgEquiv.{u1, max u1 u3, max u1 u2} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (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 u3 u1, max u2 u1} R (Matrix.{u3, u3, u1} m m R) (Matrix.{u2, u2, u1} n n R) _inst_1 (Matrix.semiring.{u1, u3} m R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_3 (fun (a : m) (b : m) => _inst_4 a b)) (Matrix.semiring.{u1, u2} n R (CommSemiring.toSemiring.{u1} R _inst_1) _inst_2 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u1, u3, u1} m R R _inst_3 (fun (a : m) (b : m) => _inst_4 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)) (Matrix.instAlgebraMatrixSemiring.{u1, u2, u1} n R R _inst_2 (fun (a : n) (b : n) => _inst_5 a b) _inst_1 (CommSemiring.toSemiring.{u1} R _inst_1) (Algebra.id.{u1} R _inst_1)))))))) (Matrix.reindexAlgEquiv.{u3, u2, u1} m n R _inst_1 _inst_2 _inst_3 (fun (a : m) (b : m) => _inst_4 a b) (fun (a : n) (b : n) => _inst_5 a b) e) N))
+Case conversion may be inaccurate. Consider using '#align matrix.reindex_alg_equiv_mul Matrix.reindexAlgEquiv_mulₓ'. -/
 theorem reindexAlgEquiv_mul (e : m ≃ n) (M : Matrix m m R) (N : Matrix m m R) :
     reindexAlgEquiv R e (M ⬝ N) = reindexAlgEquiv R e M ⬝ reindexAlgEquiv R e N :=
   (reindexAlgEquiv R e).map_mul M N
@@ -157,6 +243,12 @@ theorem reindexAlgEquiv_mul (e : m ≃ n) (M : Matrix m m R) (N : Matrix m m R)
 
 end Algebra
 
+/- warning: matrix.det_reindex_linear_equiv_self -> Matrix.det_reindexLinearEquiv_self is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u1} m] [_inst_3 : DecidableEq.{succ u1} m] [_inst_4 : Fintype.{u2} n] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n) (M : Matrix.{u1, u1, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u2} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (LinearEquiv.{u3, u3, max u1 u3, max u2 u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} m m R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u2, u2} n n R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u2, u2, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (fun (_x : LinearEquiv.{u3, u3, max u1 u3, max u2 u3} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} m m R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u2, u2} n n R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u2, u2, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (LinearEquiv.hasCoeToFun.{u3, u3, max u1 u3, max u2 u3} R R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} m m R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u2, u2} n n R (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.module.{u3, u2, u2, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (Matrix.reindexLinearEquiv.{u1, u1, u2, u2, u3, u3} m m n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (AddCommGroup.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toAddCommGroup.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (Semiring.toModule.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) e e) M)) (Matrix.det.{u3, u1} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 M)
+but is expected to have type
+  forall {m : Type.{u2}} {n : Type.{u1}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u2} m] [_inst_3 : DecidableEq.{succ u2} m] [_inst_4 : Fintype.{u1} n] [_inst_5 : DecidableEq.{succ u1} n] (e : Equiv.{succ u2, succ u1} m n) (M : Matrix.{u2, u2, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u1} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), max (succ u1) (succ u3)} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Matrix.{u2, u2, u3} m m R) (fun (_x : Matrix.{u2, u2, u3} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u3} m m R) => Matrix.{u1, u1, u3} n n R) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (SMulZeroClass.toSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toZero.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toAddZeroClass.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (SemilinearMapClass.distribMulActionHomClass.{u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (SemilinearEquivClass.instSemilinearMapClass.{u3, u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (LinearEquiv.{u3, u3, max u3 u2, max u3 u1} R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (LinearEquiv.instSemilinearEquivClassLinearEquiv.{u3, u3, max u2 u3, max u1 u3} R R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (Matrix.addCommMonoid.{u3, u2, u2} m m R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.addCommMonoid.{u3, u1, u1} n n R (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1)))))) (Matrix.module.{u3, u2, u2, u3} m m R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.module.{u3, u1, u1, u3} n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHom.id.{u3} R (Semiring.toNonAssocSemiring.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1))) (RingHomInvPair.ids.{u3} R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)))))))) (Matrix.reindexLinearEquiv.{u2, u2, u1, u1, u3, u3} m m n n R R (Ring.toSemiring.{u3} R (CommRing.toRing.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{u3} R (NonUnitalNonAssocRing.toNonUnitalNonAssocSemiring.{u3} R (NonAssocRing.toNonUnitalNonAssocRing.{u3} R (Ring.toNonAssocRing.{u3} R (CommRing.toRing.{u3} R _inst_1))))) (_private.Mathlib.RingTheory.Ideal.Operations.0.Ideal.instModuleToSemiringToAddCommMonoidToNonUnitalNonAssocSemiringToNonUnitalNonAssocRingToNonUnitalRingToNonUnitalCommRing.{u3, u3} R R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_1 (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) e e) M)) (Matrix.det.{u3, u2} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 M)
+Case conversion may be inaccurate. Consider using '#align matrix.det_reindex_linear_equiv_self Matrix.det_reindexLinearEquiv_selfₓ'. -/
 /-- Reindexing both indices along the same equivalence preserves the determinant.
 
 For the `simp` version of this lemma, see `det_submatrix_equiv_self`.
@@ -166,6 +258,12 @@ theorem det_reindexLinearEquiv_self [CommRing R] [Fintype m] [DecidableEq m] [Fi
   det_reindex_self e M
 #align matrix.det_reindex_linear_equiv_self Matrix.det_reindexLinearEquiv_self
 
+/- warning: matrix.det_reindex_alg_equiv -> Matrix.det_reindexAlgEquiv is a dubious translation:
+lean 3 declaration is
+  forall {m : Type.{u1}} {n : Type.{u2}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u1} m] [_inst_3 : DecidableEq.{succ u1} m] [_inst_4 : Fintype.{u2} n] [_inst_5 : DecidableEq.{succ u2} n] (e : Equiv.{succ u1, succ u2} m n) (A : Matrix.{u1, u1, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u2} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (coeFn.{max (succ (max u1 u3)) (succ (max u2 u3)), max (succ (max u1 u3)) (succ (max u2 u3))} (AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.algebra.{u3, u2, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (fun (_x : AlgEquiv.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.algebra.{u3, u2, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) => (Matrix.{u1, u1, u3} m m R) -> (Matrix.{u2, u2, u3} n n R)) (AlgEquiv.hasCoeToFun.{u3, max u1 u3, max u2 u3} R (Matrix.{u1, u1, u3} m m R) (Matrix.{u2, u2, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u2} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.algebra.{u3, u1, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.algebra.{u3, u2, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.reindexAlgEquiv.{u1, u2, u3} m n R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_4 _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (fun (a : n) (b : n) => _inst_5 a b) e) A)) (Matrix.det.{u3, u1} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 A)
+but is expected to have type
+  forall {m : Type.{u2}} {n : Type.{u1}} (R : Type.{u3}) [_inst_1 : CommRing.{u3} R] [_inst_2 : Fintype.{u2} m] [_inst_3 : DecidableEq.{succ u2} m] [_inst_4 : Fintype.{u1} n] [_inst_5 : DecidableEq.{succ u1} n] (e : Equiv.{succ u2, succ u1} m n) (A : Matrix.{u2, u2, u3} m m R), Eq.{succ u3} R (Matrix.det.{u3, u1} n (fun (a : n) (b : n) => _inst_5 a b) _inst_4 R _inst_1 (FunLike.coe.{max (max (succ u2) (succ u1)) (succ u3), max (succ u2) (succ u3), max (succ u1) (succ u3)} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (Matrix.{u2, u2, u3} m m R) (fun (_x : Matrix.{u2, u2, u3} m m R) => (fun (x._@.Mathlib.Algebra.Hom.GroupAction._hyg.2186 : Matrix.{u2, u2, u3} m m R) => Matrix.{u1, u1, u3} n n R) _x) (SMulHomClass.toFunLike.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (SMulZeroClass.toSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toZero.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))))) (DistribSMul.toSMulZeroClass.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (AddMonoid.toAddZeroClass.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))))) (DistribMulAction.toDistribSMul.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))) (Algebra.toModule.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (SMulZeroClass.toSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toZero.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribSMul.toSMulZeroClass.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (AddMonoid.toAddZeroClass.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))))) (DistribMulAction.toDistribSMul.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))))))) (DistribMulActionHomClass.toSMulHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AddCommMonoid.toAddMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)))))) (AddCommMonoid.toAddMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))) (Algebra.toModule.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (NonUnitalAlgHomClass.toDistribMulActionHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (MonoidWithZero.toMonoid.{u3} R (Semiring.toMonoidWithZero.{u3} R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)))) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)))) (Module.toDistribMulAction.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Semiring.toNonAssocSemiring.{max u2 u3} (Matrix.{u2, u2, u3} m m R) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b))))) (Algebra.toModule.{u3, max u2 u3} R (Matrix.{u2, u2, u3} m m R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (Module.toDistribMulAction.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (NonUnitalNonAssocSemiring.toAddCommMonoid.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (NonAssocSemiring.toNonUnitalNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Semiring.toNonAssocSemiring.{max u1 u3} (Matrix.{u1, u1, u3} n n R) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b))))) (Algebra.toModule.{u3, max u1 u3} R (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))) (AlgHom.instNonUnitalAlgHomClassToMonoidToMonoidWithZeroToSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToNonUnitalNonAssocSemiringToNonAssocSemiringToDistribMulActionToAddCommMonoidToModuleToDistribMulActionToAddCommMonoidToModule.{u3, max u2 u3, max u1 u3, max (max u2 u1) u3} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) (AlgEquivClass.toAlgHomClass.{max (max u2 u1) u3, u3, max u2 u3, max u1 u3} (AlgEquiv.{u3, max u3 u2, max u3 u1} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)))) R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (AlgEquiv.instAlgEquivClassAlgEquiv.{u3, max u2 u3, max u1 u3} R (Matrix.{u2, u2, u3} m m R) (Matrix.{u1, u1, u3} n n R) (CommRing.toCommSemiring.{u3} R _inst_1) (Matrix.semiring.{u3, u2} m R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_2 (fun (a : m) (b : m) => _inst_3 a b)) (Matrix.semiring.{u3, u1} n R (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) _inst_4 (fun (a : n) (b : n) => _inst_5 a b)) (Matrix.instAlgebraMatrixSemiring.{u3, u2, u3} m R R _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))) (Matrix.instAlgebraMatrixSemiring.{u3, u1, u3} n R R _inst_4 (fun (a : n) (b : n) => _inst_5 a b) (CommRing.toCommSemiring.{u3} R _inst_1) (CommSemiring.toSemiring.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1)) (Algebra.id.{u3} R (CommRing.toCommSemiring.{u3} R _inst_1))))))))) (Matrix.reindexAlgEquiv.{u2, u1, u3} m n R (CommRing.toCommSemiring.{u3} R _inst_1) _inst_4 _inst_2 (fun (a : m) (b : m) => _inst_3 a b) (fun (a : n) (b : n) => _inst_5 a b) e) A)) (Matrix.det.{u3, u2} m (fun (a : m) (b : m) => _inst_3 a b) _inst_2 R _inst_1 A)
+Case conversion may be inaccurate. Consider using '#align matrix.det_reindex_alg_equiv Matrix.det_reindexAlgEquivₓ'. -/
 /-- Reindexing both indices along the same equivalence preserves the determinant.
 
 For the `simp` version of this lemma, see `det_submatrix_equiv_self`.

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
@@ -31,7 +31,6 @@ namespace Matrix
 open Equiv Matrix
 
 variable {l m n o : Type*} {l' m' n' o' : Type*} {m'' n'' : Type*}
-
 variable (R A : Type*)
 
 section AddCommMonoid
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
@@ -98,14 +98,14 @@ variable [Semiring R] [Semiring A] [Module R A]
 
 theorem reindexLinearEquiv_mul [Fintype n] [Fintype n'] (eₘ : m ≃ m') (eₙ : n ≃ n') (eₒ : o ≃ o')
     (M : Matrix m n A) (N : Matrix n o A) :
-    reindexLinearEquiv R A eₘ eₙ M ⬝ reindexLinearEquiv R A eₙ eₒ N =
-      reindexLinearEquiv R A eₘ eₒ (M ⬝ N) :=
+    reindexLinearEquiv R A eₘ eₙ M * reindexLinearEquiv R A eₙ eₒ N =
+      reindexLinearEquiv R A eₘ eₒ (M * N) :=
   submatrix_mul_equiv M N _ _ _
 #align matrix.reindex_linear_equiv_mul Matrix.reindexLinearEquiv_mul
 
 theorem mul_reindexLinearEquiv_one [Fintype n] [DecidableEq o] (e₁ : o ≃ n) (e₂ : o ≃ n')
     (M : Matrix m n A) :
-    M.mul (reindexLinearEquiv R A e₁ e₂ 1) =
+    M * (reindexLinearEquiv R A e₁ e₂ 1) =
       reindexLinearEquiv R A (Equiv.refl m) (e₁.symm.trans e₂) M :=
   haveI := Fintype.ofEquiv _ e₁.symm
   mul_submatrix_one _ _ _
@@ -145,7 +145,7 @@ theorem reindexAlgEquiv_refl : reindexAlgEquiv R (Equiv.refl m) = AlgEquiv.refl
 #align matrix.reindex_alg_equiv_refl Matrix.reindexAlgEquiv_refl
 
 theorem reindexAlgEquiv_mul (e : m ≃ n) (M : Matrix m m R) (N : Matrix m m R) :
-    reindexAlgEquiv R e (M ⬝ N) = reindexAlgEquiv R e M ⬝ reindexAlgEquiv R e N :=
+    reindexAlgEquiv R e (M * N) = reindexAlgEquiv R e M * reindexAlgEquiv R e N :=
   (reindexAlgEquiv R e).map_mul M N
 #align matrix.reindex_alg_equiv_mul Matrix.reindexAlgEquiv_mul
 
chore: banish Type _ and Sort _ (#6499)

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

This has nice performance benefits.

Diff
@@ -30,9 +30,9 @@ namespace Matrix
 
 open Equiv Matrix
 
-variable {l m n o : Type _} {l' m' n' o' : Type _} {m'' n'' : Type _}
+variable {l m n o : Type*} {l' m' n' o' : Type*} {m'' n'' : Type*}
 
-variable (R A : Type _)
+variable (R A : Type*)
 
 section AddCommMonoid
 
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,14 +2,11 @@
 Copyright (c) 2019 Johannes Hölzl. All rights reserved.
 Released under Apache 2.0 license as described in the file LICENSE.
 Authors: Johannes Hölzl, Patrick Massot, Casper Putz, Anne Baanen
-
-! This file was ported from Lean 3 source module linear_algebra.matrix.reindex
-! leanprover-community/mathlib commit 1cfdf5f34e1044ecb65d10be753008baaf118edf
-! Please do not edit these lines, except to modify the commit id
-! if you have ported upstream changes.
 -/
 import Mathlib.LinearAlgebra.Matrix.Determinant
 
+#align_import linear_algebra.matrix.reindex from "leanprover-community/mathlib"@"1cfdf5f34e1044ecb65d10be753008baaf118edf"
+
 /-!
 # Changing the index type of a matrix
 
chore: reenable eta, bump to nightly 2023-05-16 (#3414)

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

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

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

Diff
@@ -154,7 +154,6 @@ theorem reindexAlgEquiv_mul (e : m ≃ n) (M : Matrix m m R) (N : Matrix m m R)
 
 end Algebra
 
-set_option synthInstance.etaExperiment true in
 /-- Reindexing both indices along the same equivalence preserves the determinant.
 
 For the `simp` version of this lemma, see `det_submatrix_equiv_self`.
chore: use etaExperiment rather than hacking with instances (#3668)

This is to fix timeouts in https://github.com/leanprover-community/mathlib4/pull/3552.

See discussion at https://leanprover.zulipchat.com/#narrow/stream/287929-mathlib4/topic/!4.233552.20.28LinearAlgebra.2EMatrix.2EToLin.29.

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

Diff
@@ -154,6 +154,7 @@ theorem reindexAlgEquiv_mul (e : m ≃ n) (M : Matrix m m R) (N : Matrix m m R)
 
 end Algebra
 
+set_option synthInstance.etaExperiment true in
 /-- Reindexing both indices along the same equivalence preserves the determinant.
 
 For the `simp` version of this lemma, see `det_submatrix_equiv_self`.
feat: port LinearAlgebra.Matrix.Reindex (#3549)

Dependencies 8 + 523

524 files ported (98.5%)
217049 lines ported (98.6%)
Show graph

The unported dependencies are